可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I have this error in eclipse helios:
Exception occurred executing command line. Cannot run program "C:\Program Files (x86)\Java\jre6\bin\javaw.exe" (in directory "C:\Users\motiver\helios_workspace\TimeTracker"): CreateProcess error=206, The filename or extension is too long
I researched a bit but most of the issues were related to DataNucleus when working on Google App Engine. But I am not using anything remotely related to Google App Engine. I am doing a small project with Servlet 3.0 on JBOSS 6. I am using Hibernate 4.1.2 for ORM and RESTEasy to expose a web service. I created a util file that has a main() method that basically drops and re-creates the schema. I run the main() methos when I need a clean database for testing purposes. It worked fine on Tomcat 7 but it stopped working when I moved to JBoss 6.
Any hint or solution would be greatly appreciated.
回答1:
There is no simple (as in a couple of clicks or a simple command) solution to this issue.
Quoting from some answers in this bug report in Eclipse.org, these are the work-arounds. Pick the one that's the least painful to you:
- Reduce the classpath
- Use directories instead of jar files
- Use a packed jar files which contains all other jars, use the classpath variable inside the manifest file to point to the other jars
- Use a special class loader which reads the classpath from a config file
- Try to use one of the attached patches in the bug report document
- Use an own wrapper e.g. ant
- Move to IntelliJ (Update: as @nitind points out, this is not an option)
Update: After July 2014, there is a better way (thanks to @Brad-Mace's answer below:
If you have created your own build file instead of using Project -> Generate Javadocs
, then you can add useexternalfile="yes"
to the Javadoc task, which is designed specifically to solve this problem.
回答2:
If you create your own build file rather than using Project -> Generate Javadocs
you can add useexternalfile="yes"
to the javadoc
task, which is designed specifically to solve this problem.
回答3:
Try updating your Eclipse version, the issue was closed recently (2013-03-12). Check the bug report https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193
回答4:
Answering my own question here so that the solution doesn't get buried in comments. I exported the project as a runnable jar from within eclipse and did a command line "java -jar MyJar.jar" and it works perfectly fine
回答5:
In bug report Bug 327193 it is considered fixed, but it happen to me recently with Eclipse Kepler 4.3.2.
Please download patch for Eclipse Juno or newer:
https://bugs.eclipse.org/bugs/attachment.cgi?id=216593
- After download back up existing eclipse/plugins/org.eclipse.jdt.launching_3.*.jar
- Copy and paste classes in the patch to org.eclipse.jdt.launching JAR (replace existing files).
- Restart Eclipse.
回答6:
I have got same error, while invoking Maven.
The root cause for my problem was the classpath
was very huge. Updating the classpath fixed the problem.
回答7:
Try this:
java -jar -Dserver.port=8080 build/libs/APP_NAME_HERE.jar
回答8:
it happens due to DataNucleus sometimes overwrite the Arguments with many paths.
You have to overwrite them with this:
-enhancerName ASM -api JDO -pu MediaToGo
Hope help you!
回答9:
Valid answer from this thread was the right answer for my special case. Specify the ORM folder path for datanucleus certainly reduce the java path compile.
https://stackoverflow.com/a/1219427/1469481
回答10:
I got the error below when I run 'ant deploy'
Cannot run program "C:\java\jdk1.8.0_45\bin\java.exe": CreateProcess error=206, The filename or extension is too long
Fixed it by run 'ant clean' before it.
回答11:
I got the same error in android studio. I was able to resolve it by running Build->Clean Project in the IDE.