【问题标题】:Passing parameters to JAVA main via ANT Build通过 ANT Build 将参数传递给 JAVA main
【发布时间】:2015-05-19 00:42:51
【问题描述】:

我对 ant 完全陌生,我想将参数 4 4 和 50 发送到我的 JAVA 主类。这是我目前所拥有的。

<target name="run" depends="jar">

        <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
            <arg value ="4"/>
            <arg value ="4"/>
            <arg value ="40"/>
        </java> 
 </target>

我得到的错误是:

BUILD FAILED`C:\Users\Admiral Sudoku\Documents\Eduboard\Ken Ton\build.xml:40: The element typ
e "target" must be terminated by the matching end-tag "</target>".

【问题讨论】:

    标签: java ant target


    【解决方案1】:

    缺少报价:

    <arg value ="40"/>
                   ^---- here
    

    你还关闭了&lt;java标签两次:

    <java jar="${jar.dir}/${ant.project.name}.jar" fork="true">
                                                              ^--- non need for /
    

    你的截图应该在&lt;project&gt;标签内。

    如果您在浏览器中打开build.xml,您还可以更轻松地“调试”您的 xml 语法。 (例如在 Firefox 中)。

    【讨论】:

    • 您能编辑您的问题并使用新的 build.xml 和错误消息进行更新吗?
    • 哦,你是怎么做到的
    【解决方案2】:
    Please use this.
    
    <?xml version="1.0" encoding="UTF-8"?>
    
    <project name="TestApp" basedir="." default="main">
    
    <property name="src.dir"     value="src"/>
    <property name="classes.dir" value="classes"/>
    <property name="jar.dir"     value="jar"/>
    <property name="main-class"  value="AppRunner"/>
    
    <target name="clean">
        <delete dir="${classes.dir}"/>
        <delete dir="${jar.dir}"/>
    </target>
    
    <target name="compile">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}"/>
    </target>
    
    <target name="jar" depends="compile">
        <mkdir dir="${jar.dir}"/>
        <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
            <manifest>
                <attribute name="Main-Class" value="${main-class}"/>
            </manifest>
        </jar>
    </target>
    
    <target name="run" depends="jar">
    
        <java jar="${jar.dir}/${ant.project.name}.jar" fork="true">
            <arg value="12"/>
            <arg value="15"/>
            <arg value="17"/>
            <arg value="18"/>
            <arg value="20"/>
        </java>
    
    </target>
    
    <target name="main" depends="run"/>
    
    </project>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-28
      • 2012-12-23
      • 2012-03-03
      • 1970-01-01
      • 2015-04-08
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多