蚂蚁在清单末尾添加新行

ant puts new line at end of manifest

我有一个使用了一些 apache tomcat 库 jar 的 jar,因此具有以下清单。

Manifest-Version: 1.0
    Main-Class: foo
    Class-Path: foo.jar foo_utils.jar . /opt/apache-tomcat/
     lib/websocket-api.jar /opt/apache-tomcat/lib/tomcat7-websocket.jar /o
     pt/apache-tomcat/lib/tomcat-util.jar /opt/apache-tomcat/lib/tomcat-co
     yote.jar /opt/apache-tomcat/bin/tomcat-juli.jar

jar 能够毫无问题地找到 foo.jarfoo_utils.jar

/opt/apache-tomcat/lib 文件夹中找不到任何 jar。我已经检查了路径并确保它是我想要的罐子的有效路径并且 is.due 到 ant 构建在 classpath 最后一行的末尾放置了一个新行,因此弄乱了行被正确解析。

如何让 ant 不在清单 class 路径文件的末尾添加新行?

我不确定,但 foo_utils.jar/opt/apache-tomcat/ 之间的那个点对我来说似乎很奇怪。这个点有什么原因吗?

您能检查一下您的清单文件是否以换行符或回车符结尾吗return?根据 https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html - 如果最后一行不以新行或回车结束 return.

,则最后一行将无法正确解析

JAR File Specification 说(强调我的):

  • Class-Path :

    The value of this attribute specifies the relative URLs of the extensions or libraries that this application or extension needs.

MANIFEST.MF 末尾的换行符无关紧要。