4

我在 Windows XP 上使用 eclipse 和用于 gwt + gae 应用程序的 datanucleus 增强器。当我运行增强器时,出现错误:

Error
Thu Oct 21 16:33:57 CDT 2010
Cannot run program "C:\Program Files\Java\jdk1.6.0_18\bin\javaw.exe" (in directory "C:\ag\dev"): CreateProcess error=87, The parameter is incorrect

java.io.IOException: Cannot run program "C:\Program Files\Java\jdk1.6.0_18\bin\javaw.exe" (in directory "C:\ag\dev"): CreateProcess error=87, The parameter is incorrect
at java.lang.ProcessBuilder.start(Unknown Source)
at com.google.gdt.eclipse.core.ProcessUtilities.launchProcessAndActivateOnError(ProcessUtilities.java:213)
at com.google.appengine.eclipse.core.orm.enhancement.EnhancerJob.runInWorkspace(EnhancerJob.java:154)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.io.IOException: CreateProcess error=87, The parameter is incorrect
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 5 more

我以前遇到过这个问题,这是由于类路径很长。我只花了一个半小时通过移动库甚至移动我的 Eclipse 安装来缩短我的类路径,但没有运气。

关于我应该从哪里开始寻找答案的任何想法?该错误消息不包含有关其所在目录或任何内容的任何信息。有点让人生气!是否可以使 javaw 的输出更详细?是否有可能绕过这个类路径大小错误?

4

1 回答 1

7

Aha!

Under Project properties > Google > App Engine > ORM I found that all of my classes were being enhanced, which was leading to a command line that was too long - nothing to do with the classpath, apparently. I just configured that property page to only enhance a subset of my classes (only like 5% need enhancing), and now, not only does it work again, but the build process is WAY FASTER!

于 2010-10-21T23:08:16.313 回答