On Tue, Jan 18, 2011 at 7:12 PM, Selvaratnam Uthaiyashankar < shan...@wso2.com> wrote:
> Hi, > > When building ui components, it generates code from given wsdl using > WSDL2Java. However, it fails with following error > > [java] java.io.IOException: Cannot run program "C:\Program > Files\Java\jdk1.6.0_13\jre\bin\java.exe": CreateProcess error=87, The > parameter is inc > orrect > [java] at java.lang.ProcessBuilder.start(ProcessBuilder.java:459) > [java] at java.lang.Runtime.exec(Runtime.java:593) > [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > [java] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [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.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:834) > [java] at > org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:435) > [java] at > org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:449) > [java] at org.apache.tools.ant.taskdefs.Java.fork(Java.java:751) > [java] at > org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:171) > [java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84) > [java] at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) > [java] at org.apache.tools.ant.Task.perform(Task.java:364) > [java] at org.apache.tools.ant.Target.execute(Target.java:341) > [java] at > org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:108) > [java] at > org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:83) > [java] at > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) > [java] at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > [java] at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) > [java] at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) > [java] at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > [java] at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > [java] at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > [java] at > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > [java] at > org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > [java] at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > [java] at > org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > [java] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > [java] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > [java] at java.lang.reflect.Method.invoke(Method.java:597) > [java] at > org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > [java] at > org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > [java] at > org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > [java] at > org.codehaus.classworlds.Launcher.main(Launcher.java:375) > [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:452) > [java] ... 35 more > [INFO] Executed tasks > [INFO] [compiler:compile {execution: default-compile}] > > > > The reason is, the classpath is too long, and windows can have only limited > classpath. The corresponding ant task in pom.xml is as follows: (Note that, > I took components\gadgets\org.wso2.carbon.gadget.editor.ui as an example, > but most of the other *.ui components are also failing. ) > > <tasks> > <java > classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"> > <arg line="-uri > src/main/resources/GadgetEditorService/GadgetEditorService.wsdl -u -uw -o > target/generated-code > -p org.wso2.carbon.gadget.editor.ui > -ns2p > http://services.editor.gadget.carbon.wso2.org > =org.wso2.carbon.gadget.editor.ui.services,http://utils.extensi > > ons.registry.carbon.wso2.org/xsd=org.wso2.carbon.gadget.editor.ui.beans.xsd,http://exceptions.core.registry.carbon.wso2.org/xsd=org.wso2.carbon.gadget > .editor.ui.exceptions.xsd"/> > <classpath > refid="maven.dependency.classpath"/> > <classpath > refid="maven.compile.classpath"/> > <classpath > refid="maven.runtime.classpath"/> > </java> > </tasks> > > > When we change the "fork" parameter to "false", it works correctly. > However, the WSDL and output directory are given relative to the component > directory and will work only if the fork="true". So, we can't build it from > some other location (e.g if the component is > "components\gadgets\org.wso2.carbon.gadget.editor.ui", we can build inside > this location, but the build will fail if we try to build from "components" > or "components\gadgets"). One possibility is giving absolute path for WSDL > and output directory. > > Modifying it as follows works without any issue: > > <tasks> > <java > classname="org.apache.axis2.wsdl.WSDL2Java"> > <arg line="-uri > ${project.basedir}/src/main/resources/GadgetEditorService/GadgetEditorService.wsdl > -u -uw -o ${pro > ject.basedir}/target/generated-code > -p org.wso2.carbon.gadget.editor.ui > -ns2p > http://services.editor.gadget.carbon.wso2.org > =org.wso2.carbon.gadget.editor.ui.services,http://utils.extensi > > ons.registry.carbon.wso2.org/xsd=org.wso2.carbon.gadget.editor.ui.beans.xsd,http://exceptions.core.registry.carbon.wso2.org/xsd=org.wso2.carbon.gadget > .editor.ui.exceptions.xsd"/> > <classpath > refid="maven.dependency.classpath"/> > <classpath > refid="maven.compile.classpath"/> > <classpath > refid="maven.runtime.classpath"/> > </java> > </tasks> > > Is it ok to change as above? Any problem in above approach? Please give > your comments. > There are no recent commits to this pom.xml file. It was always fork=true. I am wondering how it worked ealier. Thanks Sameera > > Regards, > Shankar > > -- > S.Uthaiyashankar > Senior Architect & Senior Manager > WSO2 Inc. > http://wso2.com/ - "lean . enterprise . middleware" > > _______________________________________________ > Carbon-dev mailing list > Carbon-dev@wso2.org > https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev > > -- Sameera Jayasoma Technical Lead and Product Manager, WSO2 Carbon WSO2, Inc. (http://wso2.com) email: same...@wso2.com blog: http://tech.jayasoma.org Lean . Enterprise . Middleware
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev