clean compile gives "the parameter is incorrect"

214 views
Skip to first unread message

John V Denley

unread,
Apr 5, 2010, 10:53:05 AM4/5/10
to Google Web Toolkit
What is this message telling me?

'DataNucleus Enhancer' has encountered a problem

Cannot run program "C:\Program Files\Java\jre6\bin\javaw.exe" (in
directory "C:\Documents and Settings\John\My Documents\_DeBa\ideba
\iDeBanet"): CreateProcess error=87, The parameter is incorrect
Cannot run program "C:\Program Files\Java\jre6\bin\javaw.exe" (in
directory "C:\Documents and Settings\John\My Documents\_DeBa\ideba
\iDeBanet"): CreateProcess error=87, The parameter is incorrect

I cant seem to find anything helpful anywhere on the web, all I can
find is suggestions that my classpath is too long for windows, but I
dont know where to figure out what my classpath length is, plus its
not THAT big a project, so im surprised ive hit any kind of limit,
although I HAVE just included one additional *.java file in my client
directory, but I have tried taking that out and recompiling clean, and
its still happening!

Is this a GAE problem? or an Eclipse problem or a Java problem?

Any pointers would be really helpful, as i have a deadline for
tomorrow, the code is all done, I just cant seem to deploy it!

Thanks,
John
PS Im posting this on the GAE java group too, as I have to catch a
train now, and will be back later to see if anyone has replied!

John V Denley

unread,
Apr 5, 2010, 12:18:04 PM4/5/10
to Google Web Toolkit
Im on the train now... hoping my connection holds up, but just incase
it helps, I have now rolled back to a version of the code that I
comiled and deployed successfully last night, and Im still getting
this error, so something else has changed, and its not me thats
changed it... this must be something that Eclipse or Java compiler is
picking up from somewhere else!.....

> PS Im posting this on the GAE javagrouptoo, as I have to catch a

Isaac Truett

unread,
Apr 5, 2010, 12:42:03 PM4/5/10
to google-we...@googlegroups.com
John,

This may be completely out of left field, but has your classpath grown recently? I've known java/javaw to fail due to excessively long classpaths. Even just moving files up a few directories can make the difference.

- Isaac

--
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.


John V Denley

unread,
Apr 5, 2010, 4:28:32 PM4/5/10
to Google Web Toolkit
Yes, Isaac, this is something I have seen elsewhere, but I use eclipse
and I have no idea how to find out how long my classpath is......

As far as I can tell all my java files are in :
C:\Documents and Settings\John\My Documents\_DeBa\ideba\iDeBanet\src
\com\ideba\net\client
(I have 12 *.java files in here, recently increased to 13, which is
when it started to fail, but I have rolled back to a previous version
now)
and
C:\Documents and Settings\John\My Documents\_DeBa\ideba\iDeBanet\src
\com\ideba\net\server
(I have 14 *.java in here (this has not changed in months))

Java build path is set to idebanet/src Included (All) and Excluded
(none) Native library location (none)

If you can point me anywhere else to look or test, Ill do anything to
sort this out

On Apr 5, 5:42 pm, Isaac Truett <itru...@gmail.com> wrote:
> John,
>
> This may be completely out of left field, but has your classpath grown
> recently? I've known java/javaw to fail due to excessively long classpaths.
> Even just moving files up a few directories can make the difference.
>
> - Isaac
>
> On Mon, Apr 5, 2010 at 12:18 PM, John V Denley

> <johnvden...@googlemail.com>wrote:

> > google-web-tool...@googlegroups.com<google-web-toolkit%2Bunsu...@googlegroups.com>

Isaac Truett

unread,
Apr 6, 2010, 11:44:41 AM4/6/10
to google-we...@googlegroups.com
I was thinking of libraries on the classpath rather than source files. But I don't even know for a fact that the DataNucleus Enhancer uses the project's buildpath. That's something the GPE folks would know.



To unsubscribe from this group, send email to google-web-tool...@googlegroups.com.

Katharina Probst

unread,
Apr 6, 2010, 11:55:00 AM4/6/10
to google-we...@googlegroups.com
In eclipse, if you go to the Debug view and right-click on the task (under debug, it might say "<terminated...>".  If you go to Properties, it'll show the classpath that was actually run.

I'm not sure this helps, but it's happened to me before that I changed something that messed with the classpath in eclipse, and reverting that change didn't actually revert the classpath...

kathrin

Isaac Truett

unread,
Apr 6, 2010, 1:01:56 PM4/6/10
to google-we...@googlegroups.com, Miguel Méndez, Keith Platfoot
@Kathrin -  That is a really useful feature. But I don't think the Enhancer is going to show up in that list since it's run in the background by the plugin, rather than being launched by the user.

@Miguel&Keith - Do either of you have greater insight into the DataNucleus Enhancer and what parameters it/GPE might use that javaw could choke on?

Miguel Méndez

unread,
Apr 6, 2010, 2:26:21 PM4/6/10
to Isaac Truett, google-we...@googlegroups.com, Keith Platfoot
You are right.  It won't show up there since we don't create a launch configuration for enhancement.  Basically, we launch the enhancer as described in http://code.google.com/appengine/docs/java/datastore/usingjdo.html "Enhancing Data Classes" section.  The problem could be the length of the classpath or the length of the classes that we pass to the enhancer.

2010/4/6 Isaac Truett <itr...@gmail.com>



--
Miguel

Isaac Truett

unread,
Apr 6, 2010, 2:40:16 PM4/6/10
to google-we...@googlegroups.com
Thanks, Miguel!

John, I'd suggest trying to run com.google.appengine.tools.enhancer.Enhance from the command line and see if you get the same error. See Enhancing Data Classes at the docs URL Miguel provided. And you should be able to get the classpath that Eclipse constructs from your project's build path by running Development Mode and using the technique Kathrin provided. I'd start with enhancing just one class file and see if it gets tripped up by the length of the classpath.



2010/4/6 Miguel Méndez <mme...@google.com>

John V Denley

unread,
Apr 6, 2010, 3:07:34 PM4/6/10
to Google Web Toolkit
Thanks for all your hints and tips guys, I will have a go at trying to
figure out what to do from everything you have written although at the
moment it all sounds like double dutch to me (im not a "real"
programmer- just someone who has managed to learn everything ive
needed to do to get a web app up and running over the last 6-8 months,
with great help from GWT/GAE, this community and lots and lots of
google searches!!!)

Thanks again for the help so far. Its amazing how many times ive found
people saying "maybe your classpath is too long" with absolutely no
information about how to fix that, or even find out how long it is!
LOL.... If I figure it out, ill try to write it up in "idiot" terms!
J

On Apr 6, 7:40 pm, Isaac Truett <itru...@gmail.com> wrote:
> Thanks, Miguel!
>
> John, I'd suggest trying to run com.google.appengine.tools.enhancer.Enhance
> from the command line and see if you get the same error. See Enhancing Data
> Classes at the docs URL Miguel provided. And you should be able to get the
> classpath that Eclipse constructs from your project's build path by running
> Development Mode and using the technique Kathrin provided. I'd start with
> enhancing just one class file and see if it gets tripped up by the length of
> the classpath.
>

> 2010/4/6 Miguel Méndez <mmen...@google.com>


>
> > You are right.  It won't show up there since we don't create a launch
> > configuration for enhancement.  Basically, we launch the enhancer as
> > described in
> >http://code.google.com/appengine/docs/java/datastore/usingjdo.html"Enhancing Data Classes" section.  The problem could be the length of the
> > classpath or the length of the classes that we pass to the enhancer.
>

> > 2010/4/6 Isaac Truett <itru...@gmail.com>


>
> > @Kathrin -  That is a really useful feature. But I don't think the Enhancer
> >> is going to show up in that list since it's run in the background by the
> >> plugin, rather than being launched by the user.
>
> >> @Miguel&Keith - Do either of you have greater insight into the DataNucleus
> >> Enhancer and what parameters it/GPE might use that javaw could choke on?
>

> >> On Tue, Apr 6, 2010 at 11:55 AM, Katharina Probst <kpro...@google.com>wrote:
>
> >>> In eclipse, if you go to the Debug view and right-click on the task
> >>> (under debug, it might say "<terminated...>".  If you go to Properties,
> >>> it'll show the classpath that was actually run.
>
> >>> I'm not sure this helps, but it's happened to me before that I changed
> >>> something that messed with the classpath in eclipse, and reverting that
> >>> change didn't actually revert the classpath...
>
> >>> kathrin
>

> >>>>> <google-web-toolkit%2Bunsu...@googlegroups.com<google-web-toolkit%252Buns...@googlegroups.com>

> > Miguel

John V Denley

unread,
Apr 6, 2010, 4:05:18 PM4/6/10
to Google Web Toolkit
Just as an FYI, using Kathrins suggestion

(How to For Dummies: Select Debug view by going to "Window|Open
Perspective|Debug" and then select the debug window by going to
"Window|Show View|Debug" then right click the last item in the list
shown and select "properties")

The result I was getting from there (which looks like a very long
list) is shown below (It seems pretty long because it includes a lot
of "C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib" references. I
have now changed this path and reimported it so that its now "C:
\Program Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.
1.3.2\appengine-java-sdk-1.3.2\" (which is 20 characters shorter) This
equates to at least 420 characters less in the whole classpath(!!)
which should suggest that its not the length of the classpath that is
the problem.....

I will now try to figure out how to run the enhancer from the command
line, but if anyone has any other ideas in the mean time, please do
let me know!

"C:\Program Files\Java\jre6\bin\javaw.exe" -Xmx512m "-javaagent:C:
\Program Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\agent\appengine-
agent.jar" -Dfile.encoding=Cp1252 -classpath "C:\Documents and Settings
\John\My Documents\_DeBa\ideba\iDeBanet\src;C:\Documents and Settings
\John\My Documents\_DeBa\ideba\iDeBanet\war\WEB-INF\classes;C:\Program
Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared
\appengine-local-runtime-shared.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\geronimo-
el_1.0_spec-1.0.1.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\geronimo-
jsp_2.1_spec-1.0.1.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\geronimo-
servlet_2.5_spec-1.2.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\jsp
\repackaged-appengine-ant-1.6.5.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\jsp
\repackaged-appengine-ant-launcher-1.6.5.jar;C:\Program Files\eclipse
\plugins\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\jsp
\repackaged-appengine-commons-el-1.0.jar;C:\Program Files\eclipse
\plugins\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\jsp
\repackaged-appengine-commons-logging-1.1.1.jar;C:\Program Files
\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\jsp
\repackaged-appengine-jasper-compiler-5.0.28.jar;C:\Program Files
\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\shared\jsp
\repackaged-appengine-jasper-runtime-5.0.28.jar;C:\Program Files
\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\appengine-
api-1.0-sdk-1.3.2.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\appengine-
api-labs-1.3.2.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\appengine-
jsr107cache-1.3.2.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user
\jsr107cache-1.1.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\orm
\datanucleus-appengine-1.0.6.final.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\orm
\datanucleus-core-1.1.5.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\orm
\datanucleus-jpa-1.1.5.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\orm
\geronimo-jpa_3.0_spec-1.1.1.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\orm
\geronimo-jta_1.1_spec-1.1.1.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\user\orm\jdo2-
api-2.3-eb.jar;C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2\lib\appengine-tools-
api.jar;C:\Program Files\eclipse\plugins
\com.google.gwt.eclipse.sdkbundle.
2.0.3_2.0.3.v201002191036\gwt-2.0.3\gwt-user.jar;C:\Program Files
\eclipse\plugins\com.google.gwt.eclipse.sdkbundle.
2.0.3_2.0.3.v201002191036\gwt-2.0.3\gwt-dev.jar"
com.google.gwt.dev.DevMode -remoteUI 1707:344705537223585 -startupUrl
IDeBanet.html -logLevel INFO -port 8888 -war "C:\Documents and Settings
\John\My Documents\_DeBa\ideba\iDeBanet\war" -server
com.google.appengine.tools.development.gwt.AppEngineLauncher
com.ideba.net.IDeBanet

Message has been deleted
Message has been deleted

John V Denley

unread,
Apr 6, 2010, 5:37:37 PM4/6/10
to Google Web Toolkit
OK, so in desparation, I went the whole hog and moved my SDK to "C:
\appengine-java-sdk-1.3.2" and woooo, its suddenly compiled
successfully....

So there you have it folks, anyone reading this and seemingly only
ever finding someone saying "your classpath might be too long" may
find it helpful to simply relocate your appengine sdk to the root of
your c:\ drive and see if that helps!

Also worth pointing out of course that this is technically an
appengine issue rather than a GWT issue, so thanks to everyone on this
GWT forum for helping me fix this, I will now go and add this solution
to my question on the GAE for java forum!

Thanks all,
J
PS I never did figure out how to run anything off the command line,
but im not going to bother now, until I find a need to think about
doing that later!!

PPS a summary for anyone reading this later who doesnt want to read
all the thread:

To find out the classpath used:
In Eclipse select Debug view by going to "Window|Open


Perspective|Debug" and then select the debug window by going to
"Window|Show View|Debug" then right click the last item in the list
shown and select "properties"

I found that my appengine SDK path was being references about 21 times
as:


C:\Program Files\eclipse\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.2_1.3.2.v201003241245\appengine-java-sdk-1.3.2

so I copied it to "C:\appengine-java-sdk-1.3.2"

And then linked to it by doing the following:

In Eclipse select the Java view by going to "Window|Open Perspective|
Java" and then select the project properties by going to "Project|
Properties" then select "Google|App Engine" and click on "Configure
SDK's" then click "Add" on the right hand side and select the path you
just created eg "C:\appengine-java-sdk-1.3.2" and add a "Display Name"
eg "Short App Engine SDK". Click OK as needed to close all the
windows, and everything should start working again!!!

> ...
>
> read more »

Isaac Truett

unread,
Apr 6, 2010, 9:46:26 PM4/6/10
to google-we...@googlegroups.com
John,

I'm glad to hear you've got it working! Thanks for the details on your workaround. There's one more thing that would be helpful, if you don't mind. Could you open an issue to track this? If you could, please include a link to this thread in the issue description and then post the issue number here so that anyone else following the thread can find the issue and star it if they so desire. You can use the GWT tracker since GPE doesn't have a separate one that I know of.


Thanks,
Isaac


--
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.

Miguel Méndez

unread,
Apr 7, 2010, 9:43:28 AM4/7/10
to google-we...@googlegroups.com
FWIW, there is already an issue filed against the GWT Compile action in GPE.  CreateProcess Error On GWT Compile With Long Classpath - http://code.google.com/p/google-web-toolkit/issues/detail?id=4395.  It uses the same process launching infrastructure that the enhancer uses.  Feel free to add to it or create a new bug and link to 4395.  The problem, as we understand it, is that there are cases where the command line generated by GPE for enhancement and GWT compiles can exceed the platform limitations on Windows.
--
Miguel

John V Denley

unread,
Apr 9, 2010, 10:24:58 AM4/9/10
to Google Web Toolkit
Tahnks guys, I have added to the existing issue (4395). Feel free to
let me know if you need anything else.
J

On Apr 7, 2:43 pm, Miguel Méndez <mmen...@google.com> wrote:
> FWIW, there is already an issue filed against the GWT Compile action in GPE.

>  CreateProcess Error On GWT Compile With Long Classpath -http://code.google.com/p/google-web-toolkit/issues/detail?id=4395.  It uses


> the same process launching infrastructure that the enhancer uses.  Feel free
> to add to it or create a new bug and link to 4395.  The problem, as we
> understand it, is that there are cases where the command line generated by
> GPE for enhancement and GWT compiles can exceed the platform limitations on
> Windows.
>

> On Tue, Apr 6, 2010 at 9:46 PM, Isaac Truett <itru...@gmail.com> wrote:
> > John,
>
> > I'm glad to hear you've got it working! Thanks for the details on your
> > workaround. There's one more thing that would be helpful, if you don't mind.
> > Could you open an issue to track this? If you could, please include a link
> > to this thread in the issue description and then post the issue number here
> > so that anyone else following the thread can find the issue and star it if
> > they so desire. You can use the GWT tracker since GPE doesn't have a
> > separate one that I know of.
>
> >http://code.google.com/p/google-web-toolkit/issues/entry
>
> > <http://code.google.com/p/google-web-toolkit/issues/entry>Thanks,
> > Isaac
>

> ...
>
> read more »

Stephen Johnson

unread,
Apr 20, 2010, 12:16:47 AM4/20/10
to Google Web Toolkit
In Eclipse, go to Project / Properties menu. Go to Google / App
Engine / ORM setting. It probably is set to src/ (using this setting
DataNucleus puts all class files on its classpath). Instead restrict
the folders (or patterns) to just the folders or file name patterns
for your files that need enhancing. Hopefully, you've put them in one
or just a couple of packages or named them with a common naming scheme
so the fix is then trivial. Hope it helps.
Reply all
Reply to author
Forward
0 new messages