java.lang.NoClassDefFoundError: javax/jdo/spi/Detachable and java.io.IOException CreateProcess error=87, The parameter is incorrect

1,095 views
Skip to first unread message

Kayode Odeyemi

unread,
May 4, 2011, 7:40:41 AM5/4/11
to google-web-toolkit
Firstly, about 2 weeks ago I started receiving the exception, CreateProcess error=87, The parameter is incorrect. This occurs when I try to run my app on devmode on Google App Engine. I have searched all over the internet and I was able to solve this by adding useexternalfile="yes" to ant build.xml at the javadoc target. But, this was solved only when I'm not running in devmode. That is, I'm running the app directly at http://localhost:8888/[app-name]. The error is below;

java.io.IOException: Cannot run program "C:\Java\jdk1.6.0_06\jre\bin\java.exe" (in directory "D:\AllData\netBeans_Projects\Listings"): CreateProcess error=87, The parameter is incorrect
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
        at java.lang.Runtime.exec(Runtime.java:593)
        at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:827)
        at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:445)
        at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:459)
        at org.apache.tools.ant.taskdefs.Java.fork(Java.java:791)
        at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:214)
        at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
        at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
        at org.datanucleus.enhancer.tools.EnhancerTask.execute(EnhancerTask.java:100)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor233.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

Secondly, I have gotten my app up to advanced stage where I am adding maps, extensive use of GWT for DOM Manipulation to improve UI etc, but when I try to build my app, I get the error below;

[ERROR] Unexpected
java.lang.NoClassDefFoundError: javax/jdo/spi/Detachable
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotationValue(TypeOracleMediator.java:710)
        at com.google.gwt.dev.javac.TypeOracleMediator.createAnnotation(TypeOracleMediator.java:442)
        at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotation(TypeOracleMediator.java:608)
        at com.google.gwt.dev.javac.TypeOracleMediator.resolveAnnotations(TypeOracleMediator.java:623)
        at com.google.gwt.dev.javac.TypeOracleMediator.resolveClass(TypeOracleMediator.java:768)
        at com.google.gwt.dev.javac.TypeOracleMediator.addNewUnits(TypeOracleMediator.java:385)
        at com.google.gwt.dev.javac.CompilationState.assimilateUnits(CompilationState.java:165)
        at com.google.gwt.dev.javac.CompilationState.<init>(CompilationState.java:82)
        at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:392)
        at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:275)
        at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:299)
        at com.google.gwt.dev.Precompile.precompile(Precompile.java:529)
        at com.google.gwt.dev.Precompile.precompile(Precompile.java:466)
        at com.google.gwt.dev.Compiler.run(Compiler.java:205)
        at com.google.gwt.dev.Compiler.run(Compiler.java:177)
        at com.google.gwt.dev.Compiler$1.run(Compiler.java:149)
        at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:87)
        at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:81)
        at com.google.gwt.dev.Compiler.main(Compiler.java:156)
Caused by: java.lang.ClassNotFoundException: javax.jdo.spi.Detachable
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        ... 33 more

One more thing to add is, whenever I make simple changes to the client-side code(GWT), this error pops up as well, which always requires me to clean it and then build again, which obviously have started to refuse to even compile successfully. FYI, most of these problems started occuring when I added to my project libraries gwt-user.jar, majorly because I needed to use JSON to handle a REST request (Response dispatched to a Place using Activity & Place MVP). Initially this jar file was included in my project by default, hence the package com.google.gwt.json wasn't available.

Dev environment:
  • GWT 2.1
  • Google App Engine 1.4.3
  • JDO
  • Spring 3
  • Activity and Place

Can somebody in the name of God help me with this. It's been weeks I've trying to get out of this.

Regards
--
Odeyemi 'Kayode O.
http://www.sinati.com

Juan Pablo Gardella

unread,
May 4, 2011, 7:48:54 AM5/4/11
to google-we...@googlegroups.com
You have this exception: Caused by: java.lang.ClassNotFoundException: javax.jdo.spi.Detachable

Are you use JDO in client side?

2011/5/4 Kayode Odeyemi <dre...@gmail.com>
--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-we...@googlegroups.com.
To unsubscribe from this group, send email to google-web-tool...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

Kayode Odeyemi

unread,
May 4, 2011, 7:55:15 AM5/4/11
to google-we...@googlegroups.com
No I'm not. I'm using DTO to transfer objects to the client.

Kayode Odeyemi

unread,
May 5, 2011, 7:08:07 AM5/5/11
to google-we...@googlegroups.com
This solution is peculiar only to Netbeans.

1. Make sure the path to your Java project files is not too long
2. Always cross-check project.properties and GWT property files to see what the project property values are.
e.g classpath settings, duplicate of added libraries etc.
3. Also, make sure the correct GWT version (>= 2.0) is being used by your project.

Thanks to Uju (G-Nigeria) and especially Juan Pablo for the pointers.

Regards
Reply all
Reply to author
Forward
0 new messages