Caused by: java.lang.RuntimeException: Unable to discover the Google App Engine SDK root. This code should be loaded from the SDK directory, but was instead loaded from file:/Users/alesj/.m2/repository/com/google/appengine/appengine-tools-sdk/1.4.3/appengine-tools-sdk-1.4.3.jar. Specify -Dappengine.sdk.root to override the SDK location.
while I explicitly set the sys property:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Dappengine.sdk.root=/Users/alesj/java_lib/appengine-java-sdk-1.4.3 -Didea.launcher.port=7533 …
Full stack trace is here: http://pastebin.com/BmZxHEuU
While my code uses reflection to load the KickStart class:
protected void invokeKickStart(Object args) throws Exception
{
Class<?> kickStartClass = getClass().getClassLoader().loadClass("com.google.appengine.tools.KickStart");
Method main = kickStartClass.getMethod("main", String[].class);
main.invoke(null, args);
}
While also setting SDK root and java.class.path (same as gae-plugin)
List<String> args = new ArrayList<String>();
args.add("com.google.appengine.tools.development.DevAppServerMain"); // dev app server
String sdkDir = (String) addArg(args, "sdk_root", configuration.getSdkDir(), "appengine.sdk.root");
if (new File(sdkDir).isDirectory() == false)
throw new DeploymentException("SDK root is not a directory: " + sdkDir);
String classpath = System.getProperty("java.class.path");
String toolsJar = sdkDir + "/lib/appengine-tools-api.jar";
if (classpath.contains(toolsJar) == false)
System.setProperty("java.class.path", classpath + File.pathSeparator + toolsJar);
… I'm out of ideas …