Java Ant jar任务只包含一个类文件
我有一项艰巨的任务Java Ant jar任务只包含一个类文件,java,ant,jar,target,Java,Ant,Jar,Target,我有一项艰巨的任务 <target name="create_jar" depends="compile"> <jar destfile="build/temp/MyClassJar.jar" basedir="build/classes/com/company/utils"> <manifest> <attribute name="Main-Class" value="com.compa
<target name="create_jar" depends="compile">
<jar destfile="build/temp/MyClassJar.jar" basedir="build/classes/com/company/utils">
<manifest>
<attribute name="Main-Class" value="com.company.utils.MyClass"/>
</manifest>
</jar>
</target>
文件夹build/classes有多个包和类文件,但在我的jar中,我只想包括com/company/utils文件夹中的两个文件MyClass.class和MyClass$1.class
如果我在运行任务时将base dir设置为com/company/utils,jar中就没有包文件夹,比如com/company/utils不是在jar文件中创建的,但是如果我将base dir更改为build/classes,那么所有文件都会被包括在内。
如何解决此问题。Jar任务采用嵌套文件集,因此您可以执行以下操作:
<jar destfile="build/temp/MyClassJar.jar">
<fileset dir="build/classes" includes="**/MyClass*.class" />
<manifest>
<attribute name="Main-Class" value="com.company.utils.MyClass"/>
</manifest>
</jar>
Jar任务采用嵌套文件集,因此您可以执行以下操作:
<jar destfile="build/temp/MyClassJar.jar">
<fileset dir="build/classes" includes="**/MyClass*.class" />
<manifest>
<attribute name="Main-Class" value="com.company.utils.MyClass"/>
</manifest>
</jar>