Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class 在ANT中制作JAR时如何有条件地包含清单选项_Class_Ant_Jar_Manifest_Main - Fatal编程技术网

Class 在ANT中制作JAR时如何有条件地包含清单选项

Class 在ANT中制作JAR时如何有条件地包含清单选项,class,ant,jar,manifest,main,Class,Ant,Jar,Manifest,Main,我正在使用ANT管理多个项目。我有一个build-common.xml脚本,每个项目都包含该脚本。有些项目是库,有些是程序。对于这些项目,我想包括 <manifest> <attribute name="Main-Class" value="${main.class}"/> </manifest> 在标记中。对于库,我希望有一个空jar标记,如下所示 <target name="jar" depends="compile" descript

我正在使用ANT管理多个项目。我有一个build-common.xml脚本,每个项目都包含该脚本。有些项目是库,有些是程序。对于这些项目,我想包括

<manifest>
    <attribute name="Main-Class" value="${main.class}"/>
</manifest>

标记中。对于库,我希望有一个空jar标记,如下所示

<target name="jar" depends="compile" description="generate a jar">
    <mkdir dir="${build}/jar" />
    <property name="jarfile" value="${jar}/${ant.project.name}.jar" />
    <jar jarfile="${jarfile}" basedir="${classes}">
    </jar>
</target>

是否只有在定义了属性Main.Class的情况下才可以包含清单属性Main类


谢谢

使用条件目标:

<target name="jar-mkdir" depends="compile" description="generate a jar">
  <mkdir dir="${build}/jar" />
  <property name="jarfile" value="${jar}/${ant.project.name}.jar" />
</target>

<target name="jar-main" depends="compile" description="generate a jar" if="main.class">
  <jar jarfile="${jarfile}" basedir="${classes}">
    <manifest>
      <attribute name="Main-Class" value="${main.class}"/>
    </manifest>
  </jar>
</target>

<target name="jar-nomain" depends="compile" description="generate a jar" unless="main.class">
  <jar jarfile="${jarfile}" basedir="${classes}">
  </jar>
</target>


<target name="jar" depends="compile, jar-mkdir, jar-main, jar-nomain" description="generate a jar">
</target>


只有当main.class存在时,才会运行
jarmain
(并添加清单)。当它不存在时,
jar将运行

太好了!这很有道理。我知道一些组件,但我不知道如何将它们组合在一起。对此我很抱歉。我不会在stackoverflow上发布很多问题。我试图投票支持你,但我没有足够的声誉(我想我在stackoverflow支持openid之前丢失了我的旧帐户)。。。