我有一个很大的问题。我刚用ant创建了一个jar文件,一切正常,但是在jar文件中,src文件夹被省略了,但是我需要它,因为我正在从应用程序中引用一个文件。
即。我的项目ProjectName / src / org / nexLevel / nextLevel / Main.java中有以下结构。我还有ProjectName / config / settings.properties。
当我知道用ant构建一个jar文件时,我只得到文件夹org / nexLevel / nextLevel / Main.java而不是src文件夹。如何在我的.jar中获取src文件夹?
这是我的蚂蚁脚本:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="complete build" name="Create runnable jar file">
<property name="src.dir" location="src" />
<property name="lib.dir" location="lib" />
<property name="build.dir" location="bin" />
<property name="dist.dir" location="dist" />
<property name="docs.dir" location="docs" />
<property name="config.dir" location="config" />
<property name="build.sysclasspath" value="last" />
<path id="project-classpath">
<fileset dir="${lib.dir}" includes="*.jar" />
</path>
<target name="remove release">
<delete dir="${dist.dir}" />
</target>
<target name="clean build">
<delete dir="${build.dir}" />
</target>
<target name="clean docs">
<delete dir="${docs.dir}" />
</target>
<target name="compile" depends="clean build">
<mkdir dir="${build.dir}" />
<javac srcdir="${src.dir}" destdir="${build.dir}" debug="on" target="1.8" source="1.8">
<classpath refid="project-classpath" />
<compilerarg value="-Xlint:none" />
</javac>
</target>
<target name="docs" depends="clean docs, compile">
<mkdir dir="${docs.dir}" />
<javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}">
<fileset dir="${src.dir}">
<include name="**" />
</fileset>
</javadoc>
</target>
<target name="build jar" depends="remove release, compile">
<mkdir dir="${dist.dir}" />
<jar destfile="${dist.dir}/myApp.jar">
<manifest>
<attribute name="Main-Class" value="org.nextLevel.nextLevel.Main" />
<attribute name="Class-Path" value="." />
</manifest>
<fileset dir="${build.dir}" />
<zipfileset dir="config" prefix="config" />
<zipfileset excludes="META-INF/**" src="lib/postgresql-9.3-1102.jdbc41.jar" />
</jar>
<antcall target="clean build" />
</target>
<target name="complete build" depends="docs, build jar, clean build" />
</project>
答案 0 :(得分:0)
你的jar任务只包含build.dir,尝试将src.dir添加到jar中
<fileset dir="${build.dir}" />
<fileset dir="." includes="**/*.java"/>