以下是我的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也可以按预期工作。
发布于 2019-07-07 13:22:32
According to the JAR specification,
- No line may be longer than 72 bytes (not characters), in its UTF8-encoded form. If a value would make the initial line longer than this, it should be continued on extra lines (each starting with a single SPACE).一些工具似乎忽略了这一要求,但Ant对此很严格。您的代码行换行长度为70个字符,可能加上\r\n。
https://stackoverflow.com/questions/56919452
复制相似问题