Shankar,
AFAIR
-uri ${project.basedir}/src/main......
and
-uri src/main/.....

are the same.

/sumedha

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.
>
> 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
>
>
_______________________________________________
Carbon-dev mailing list
Carbon-dev@wso2.org
https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to