自从更新到 Mac OS X Mavericks 后,我在使用 maven 插件启动 Google Appengine Devserver 时遇到了一些严重的延迟。这是日志文件中的一个片段:
1: Okt 26, 2013 10:46:16 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
2: INFO: Successfully processed /Users/Me/workspace/example/target/example-0.1-SNAPSHOT/WEB-INF/appengine-web.xml
3: [INFO] Running /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/bin/java -XstartOnFirstThread -javaagent:/Users/Me/.m2/repository/com/google/appengine/appengine-java-sdk/1.8.6/appengine-java-sdk/appengine-java-sdk-1.8.6/lib/agent/appengine-agent.jar -Xbootclasspath/p:/Users/Me/.m2/repository/com/google/appengine/appengine-java-sdk/1.8.6/appengine-java-sdk/appengine-java-sdk-1.8.6/lib/override/appengine-dev-jdk-overrides.jar -Dappengine.fullscan.seconds=5 -classpath /Users/Me/.m2/repository/com/google/appengine/appengine-java-sdk/1.8.6/appengine-java-sdk/appengine-java-sdk-1.8.6/lib/appengine-tools-api.jar com.google.appengine.tools.development.DevAppServerMain --allow_remote_shutdown -a 0.0.0.0 /Users/Me/workspace/example/target/example-0.1-SNAPSHOT
4: [INFO] objc[897]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
5: [INFO] Okt 26, 2013 10:47:34 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
比较本示例第 1 行和第 5 行中的时间戳(当然,实际日志要长得多)。相差78秒!几乎所有这些时间都消耗在第 3 行。
在这里,为了更好的可读性,我再次有第 3 行:
[信息] 正在运行 /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/bin/java -XstartOnFirstThread -javaagent:/Users/Me/.m2/repository/com/google/appengine/appengine- java-sdk/1.8.6/appengine-java-sdk/appengine-java-sdk-1.8.6/lib/agent/appengine-agent.jar -Xbootclasspath/p:/Users/Me/.m2/repository/com/ google/appengine/appengine-java-sdk/1.8.6/appengine-java-sdk/appengine-java-sdk-1.8.6/lib/override/appengine-dev-jdk-overrides.jar -Dappengine.fullscan.seconds= 5 -classpath /Users/Me/.m2/repository/com/google/appengine/appengine-java-sdk/1.8.6/appengine-java-sdk/appengine-java-sdk-1.8.6/lib/appengine-tools -api.jar com.google.appengine.tools.development.DevAppServerMain --allow_remote_shutdown -a 0.0.0.0 /Users/Me/workspace/example/target/example-0.1-SNAPSHOT
我想,第 4 行与这个问题无关,这是不同的东西,应该在 1.7.0u60 中修复。
有谁知道,这里可能有什么问题?
我怀疑这与 WiFi 问题有关,但即使禁用 WiFi 和 LAN(它是带有以太网端口的“旧”MacBook Pro),我也会遇到同样的问题。
[编辑] 当我直接在终端中执行第 3 行的命令时,没有延迟。但是对于 Maven,有一个延迟。我尝试了多次一种方法......</p>