打包:
ant执行jar包中的main方法
<project name= "myproject" basedir= "." default="main">
<path id="lib_classpath">
<fileset dir="${basedir}/">
<include name="release.jar"/>
</fileset>
</path>
<target name="main">
<java classname="com.test.distribute.Distribute" classpathref="lib_classpath">
<arg value="123"/>
</java>
</target>
</project>
目前需要使用ant来执行一个含有main方法的class文件,并且需要通过命令来行传两个参数(start和end)到main方法。
<target name="gsp" depends="compile" description="generator structure pictures">
<echo message="----------- Generator structure pictures ------------" />
<property name="start" value="1" />
<property name="end" value="892046" />
<java fork="true" classname="com.founder.cst.system.StructureImageGenerator">
<arg value="${start}"/>
<arg value="${end}"/>
<classpath path="${build.dir}/classes"/>
<classpath refid="classpath" />
</java>
<echo message="----------- End------------" />
</target>
这样执行ant gsp -Dstart=10 -Dend=20 就可以把10和20传到main方法中了,最好设置默认值。
每个包之间加空格
<pathconvert property="libs.project" pathsep=" ">
<mapper>
<chainedmapper>
<flattenmapper />
<globmapper from="*" to="lib/*" />
</chainedmapper>
</mapper>
<path>
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
</path>
</pathconvert>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${build.dir}">
<manifest>
<attribute name="Main-Class" value="com.cup.tsm.simulator.phoneclient.gui.main.Start" />
<attribute name="Class-Path" value="${libs.project}" />
</manifest>
</jar>
</target>
<!-- 指定环境变量参数为:SystemVariable -->
<property environment="SystemVariable" />
<!-- 将tomcat.home指向环境变量TOMCAT_HOME指向的路径 -->
<property name="java.home" value="${SystemVariable.JAVA_HOME}" />