Ant jar 任务仅包含一个 class 文件
Ant jar task include a single class file only
我有一个蚂蚁任务
<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 有多个包和 class 文件,但在我的 jar 中我只想包含两个文件 MyClass.class 和 MyClass$1.class com/company/utils 文件夹。
如果我有 base-dir 作为 com/company/utils 当我 运行 jar 没有包文件夹的任务时 com/company/utils 没有在 jar 文件中创建但是如果我将我的基本目录更改为 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>
我有一个蚂蚁任务
<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 有多个包和 class 文件,但在我的 jar 中我只想包含两个文件 MyClass.class 和 MyClass$1.class com/company/utils 文件夹。
如果我有 base-dir 作为 com/company/utils 当我 运行 jar 没有包文件夹的任务时 com/company/utils 没有在 jar 文件中创建但是如果我将我的基本目录更改为 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>