Issue Details (XML | Word | Printable)

Key: NUCENHANCER-82
Type: Bug Bug
Status: Closed Closed
Resolution: Won't Fix
Priority: Major Major
Assignee: Unassigned
Reporter: Michael Bauschert
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
DataNucleus Enhancer (ARCHIVED)

Exception during the enhancer is called within eclipse (plugin version 3.0.1)

Created: 21/Mar/12 03:21 PM   Updated: 18/Jun/12 10:08 AM   Resolved: 21/Mar/12 03:24 PM
Component/s: Runtime Enhancer
Affects Version/s: 3.0.1
Fix Version/s: None

Environment: WinXP SP3, Eclipse 3.7

Datastore: MySQL
Severity: Development


 Description  « Hide
I have enabled Auto-enhancement for my project and during the execution of the enhancement i get the exception:

Exception occurred executing command line.
Cannot run program "C:\Program Files\Java\jre6\bin\javaw.exe" (in directory "C:\workspace-test\TestProject"): CreateProcess error=87, The parameter is incorrect.

This occurs because the runtime configuration "DataNucleus Enhancer" contains as arguments the following:

-api JDO -v "C:\workspace-test\TestProject\bin\TestClass.class" "file2" "file3" ...

My Project contains round about 5000 classes so you can have a guess how long the call for the enhancer gets.

I have the following settings:

DataNucleus General:
   Persistence API: JDO
   User Project classpath when running tools
   Log Config point to a log4j.properties in my workspace
Enhancer
   Input file Extension class and jdo (like in the tutorial) i also changed to bin\jdo\*.class but had the same problem
   Running in verbose mode
   No PersistenceUnit name defined
Schema Tool
   Contains the default setting (Schema Tool is not used)

Sort Order: Ascending order - Click to sort in descending order
Andy Jefferson added a comment - 21/Mar/12 03:24 PM - edited
As a simple search on Google would tell you, error 87 means "command line is too long" since you use an operating system that puts silly limits on such things. There are ample ways of invoking the enhancer, and using the "fork" attribute to avoid such things. Search on the forum.

If instead you mean this is using the Eclipse plugin then raising it on the Eclipse plugin would make more sense (this is raised on the enhancer itself, which is simply what is invoked, and consequently has no bug of this nature ... java doesn't call the enhancer when you get that message) ... in that case use the persistence.xml file

Michael Bauschert added a comment - 21/Mar/12 05:49 PM
I know how to use google and i know that 87 means "command line is too long."
At my System the command line gets a size of 600KB - for enhancing 3 classes.

I created a new Entry in the eclipse category.

http://www.datanucleus.org/servlet/jira/browse/NUCACCECLIPSE-11