以下是我的 Ant 构建文件内容:
<?xml version="1.0"?>
<project name="testant"
basedir=".">
<property file="build.properties" />
<target name="manifest">
<tstamp />
<manifest mode="update"
file="manifest.mf">
<attribute name="Built-By"
value="${user.name}" />
<section name="common">
<attribute name="Specification-Title"
value="${ant.project.name}" />
<attribute name="Specification-Version"
value="1.0.0" />
<attribute name="Specification-Vendor"
value="" />
<attribute name="Implementation-Title"
value="" />
<attribute name="Implementation-Version"
value="${TODAY}" />
<attribute name="Implementation-Vendor"
value="" />
</section>
<attribute name="Main-Class"
value="${main.class}" />
</manifest>
</target>
</project>
以下是我的 build.properties。
packages=com.javacodegeeks.patterns.strategypattern.*
main.class=com.javacodegeeks.patterns.strategypattern.TestStrategyPattern
以下是我的输出 manifest.mf。
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.10.6
Created-By: 10.0.2+13 (Oracle Corporation)
Built-By: root
Main-Class: com.javacodegeeks.patterns.strategypattern.TestStrategyPat
tern
Name: common
Specification-Title: testant
Specification-Version: 1.0.0
Specification-Vendor:
Implementation-Title:
Implementation-Version: July 7 2019
Implementation-Vendor:
为什么主类名中会产生空格?
它不影响使用 ant 任务或 jar 命令生成 jar 文件。
可执行 jar 也可以按预期工作。