Build.xml gives problem .. "CreateProcess error = 87, parameter is invalid"

I am trying to execute my java program using ant build script on windows environment.

But I am getting the following problem. This works in a linux environment.

    [1] init:

    compile:

    stockquote:
         [java] C: \ wso2esb-4.0.0-SNAPSHOT \ samples \ axis2Client \ build.xml: 128: java.io.IOException: Cannot run program "C: \ Program Files \ Java \ jdk1.6.0_20 \ jr
    e \ 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.GeneratedMethodAccessor6.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.apache.tools.ant.Project.executeTargets (Project.java:1251)
         [java] at org.apache.tools.ant.Main.runBuild (Main.java:809)
         [java] at org.apache.tools.ant.Main.startAnt (Main.java:217)
         [java] at org.apache.tools.ant.launch.Launcher.run (Launcher.java:280)
         [java] at org.apache.tools.ant.launch.Launcher.main (Launcher.java:109)
         [java] Caused by: java.io.IOException: Cannot run program "C: \ Program Files \ Java \ jdk1.6.0_20 \ jre \ 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)

 
   <target name="stockquote" depends="compile">
            <java classname="samples.userguide.StockQuoteClient"
                  classpathref="javac.classpath" fork="true">
                <sysproperty key="symbol" value="${symbol}"/>
                <sysproperty key="mode"   value="${mode}"/>
                <sysproperty key="addurl" value="${addurl}"/>
                -----------------------------------------------

<target name="init">
        <mkdir dir="${class.dir}"/>
        <mkdir dir="./../../work/temp/sampleClient"/>
        <path id="javac.classpath">
            <pathelement path="${class.dir}"/>
            <pathelement path="../../lib"/>
            <fileset dir="../../repository/components/plugins">              
                <include name="*.jar"/>              
            </fileset>

            <fileset dir="../../lib">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="../../lib/endorsed">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="../../repository/components/extensions">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="../../repository/components/lib">
                <include name="*.jar"/>
            </fileset>
        </path>
    </target>

      

+3


source to share


1 answer


It seems like your CLASSPATH is too long for Windows to handle.

Google for "CreateProcess Error = 87, Parameter Invalid". See also this answer .



You will need to shorten the classpath. Try to include only the actual StockQuoteClient dependencies and nothing else, not all "* .jar" entries.

+7


source







All Articles