有了在这里回答的人的有用建议,我开始研究One-
Jar。经过一些死胡同(和一些与我以前的结果完全一样的结果,我设法使它起作用。对于其他人参考,我列出了对我有用的build.xml。
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project basedir="." default="build" name="<INSERT_PROJECT_NAME_HERE>"> <property environment="env"/> <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.6"/> <property name="source" value="1.6"/> <property name="one-jar.dist.dir" value="../onejar"/> <import file="${one-jar.dist.dir}/one-jar-ant-task.xml" optional="true" /> <property name="src.dir" value="src"/> <property name="bin.dir" value="bin"/> <property name="build.dir" value="build"/> <property name="classes.dir" value="${build.dir}/classes"/> <property name="jar.target.dir" value="${build.dir}/jars"/> <property name="external.lib.dir" value="../jars"/> <property name="final.jar" value="${bin.dir}/<INSERT_NAME_OF_FINAL_JAR_HERE>"/> <property name="main.class" value="<INSERT_MAIN_CLASS_HERE>"/> <path id="project.classpath"> <fileset dir="${external.lib.dir}"> <include name="*.jar"/> </fileset> </path> <target name="init"> <mkdir dir="${bin.dir}"/> <mkdir dir="${build.dir}"/> <mkdir dir="${classes.dir}"/> <mkdir dir="${jar.target.dir}"/> <copy includeemptydirs="false" todir="${classes.dir}"> <fileset dir="${src.dir}"> <exclude name="***.java"/> </fileset> </copy> </target> <target name="clean"> <delete dir="${build.dir}"/> <delete dir="${bin.dir}"/> </target> <target name="cleanall" depends="clean"/> <target name="build" depends="init"> <echo message="${ant.project.name}: ${ant.file}"/> <javac debug="true" debuglevel="${debuglevel}" destdir="${classes.dir}" source="${source}" target="${target}"> <src path="${src.dir}"/> <classpath refid="project.classpath"/></javac> </target> <target name="build-jar" depends="build"> <delete file="${final.jar}" /> <one-jar destfile="${final.jar}" onejarmain> <main> <fileset dir="${classes.dir}"/> </main> <lib> <fileset dir="${external.lib.dir}" /> </lib> </one-jar> </target></project>
我希望其他人可以从中受益。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)