Service builder fails when classpath argument get too long on Windows (>32k)

Description

I've been successfully using Liferay Developer Studio v1.5.2 against Portal v6.1.10 EE.

I then tried pulling in Portal EE v1.6.20 elements (SDK, runtime) and now find Service Builder won't run.

Steps to reproduce:
Install Portal 6.1.20 SDK and runtime to Liferay Developer Studio
Create new empty Hook project
Invoke new Service Builder (New -> "Liferay Service Builder")
Right-click generated service.xml file, select "Liferay" -> "Build Services"
Receive error:

[Console output redirected to file:C:\Workspaces\liferay\.metadata\.plugins\com.liferay.ide.eclipse.sdk\sdk.log]
Buildfile: C:\Java\Liferay Developer Studio\liferay-plugins-sdk-6.1.20\hooks\Workshare-hook\build.xml
build-service:
[java] C:\Java\Liferay Developer Studio\liferay-plugins-sdk-6.1.20\build-common-plugin.xml:169: java.io.IOException: Cannot run program "C:\Java\Liferay Developer Studio\liferay-portal-6.1.20-ee-ga2\tomcat-7.0.27\jre1.6.0_20\win\bin\java.exe": CreateProcess error=87, The parameter is incorrect
[java] at org.apache.tools.ant.taskdefs.Java.fork(Java.java:798)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:214)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[java] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[java] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] at org.apache.tools.ant.Target.execute(Target.java:390)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:411)
[java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
[java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[java] at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
[java] at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:424)
[java] at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:138)
[java] Caused by: java.io.IOException: Cannot run program "C:\Java\Liferay Developer Studio\liferay-portal-6.1.20-ee-ga2\tomcat-7.0.27\jre1.6.0_20\win\bin\java.exe": CreateProcess error=87, The parameter is incorrect
[java] at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
[java] at java.lang.Runtime.exec(Runtime.java:593)
[java] at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:862)
[java] at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:481)
[java] at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:495)
[java] at org.apache.tools.ant.taskdefs.Java.fork(Java.java:791)
[java] ... 18 more
[java] Caused by: java.io.IOException: CreateProcess error=87, The parameter is incorrect
[java] at java.lang.ProcessImpl.create(Native Method)
[java] at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
[java] at java.lang.ProcessImpl.start(ProcessImpl.java:30)
[java] at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
[java] ... 23 more
[java] Java Result: -1
[echo] ${service.test.output}
[mkdir] Created dir: C:\Java\Liferay Developer Studio\liferay-plugins-sdk-6.1.20\hooks\Workshare-hook\docroot\WEB-INF\service-classes
compile-java:
[zip] Warning: skipping zip archive C:\Java\Liferay Developer Studio\liferay-plugins-sdk-6.1.20\hooks\Workshare-hook\docroot\WEB-INF\lib\Workshare-hook-service.jar because no files were included.
[delete] Deleting directory C:\Java\Liferay Developer Studio\liferay-plugins-sdk-6.1.20\hooks\Workshare-hook\docroot\WEB-INF\service-classes
BUILD SUCCESSFUL
Total time: 1 second

Environment

Windows 7 x64, Java 7, PostgreSql

Activity

Show:

Vicky Wang August 22, 2012 at 11:26 PM

Verified with Version: Juno Release
Liferay IDE: 2.0.0.v201208222106

Gregory Amerson August 9, 2012 at 6:15 AM
Edited

This is now fixed for SDK greater than 6.2.0 via
LPS-29085

Gregory Amerson August 6, 2012 at 8:48 PM

Gregory Amerson August 6, 2012 at 10:13 AM

Hi Tom,

I posted a response on the forums here: http://www.liferay.com/community/forums/-/message_boards/message/15392035

Hope that helps.

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Fix versions

Priority

Zendesk Support

Created August 6, 2012 at 9:32 AM
Updated June 18, 2013 at 11:52 PM
Resolved January 1, 2013 at 9:30 PM