Maven Archiver在类路径中为清单添加奇怪的换行符
根据java规范,jar的manifest.mf中的类路径行只能是一定数量的字节。然后插入换行符,新行以空白开始 使用Maven 3和Maven jar插件版本2.3.2,我的清单在类路径中出现了一些有趣的换行符,我想当部署到WAS 7中时,这可能会让我感到不安 只是想确保清单看起来是正确的(可能与字节长度不匹配,但您可以了解情况): 在第一行结束时,注意到第三项目的中间是如何中断的?看来那不是件好事。有没有办法纠正这个问题?我不相信“customClasspathLayout”选项会对我起作用。这符合我的要求。请注意,行的长度是72个字符,如果超过该长度,则意味着要在该点换行。我挣扎了约8个小时。 Plexus archiver总是重新打包/重构清单文件,即使您指定了自定义清单文件。始终添加换行符(72字符限制) 没有办法改变这种行为 我找到了以下解决方法。我开始使用truezip maven插件更新生成的ear:Maven Archiver在类路径中为清单添加奇怪的换行符,maven,classpath,manifest,Maven,Classpath,Manifest,根据java规范,jar的manifest.mf中的类路径行只能是一定数量的字节。然后插入换行符,新行以空白开始 使用Maven 3和Maven jar插件版本2.3.2,我的清单在类路径中出现了一些有趣的换行符,我想当部署到WAS 7中时,这可能会让我感到不安 只是想确保清单看起来是正确的(可能与字节长度不匹配,但您可以了解情况): 在第一行结束时,注意到第三项目的中间是如何中断的?看来那不是件好事。有没有办法纠正这个问题?我不相信“customClasspathLayout”选项会对我起作用
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>truezip-maven-plugin</artifactId>
<executions>
<execution>
<id>replace-broken-manifest</id>
<goals>
<goal>copy</goal>
</goals>
<phase>package</phase>
<configuration>
<files>
<file>
<source>src/main/resources/META-INF/MANIFEST.MF</source>
<outputDirectory>${project.build.directory}/${project.build.finalName}.${project.packaging}/META-INF</outputDirectory>
</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
org.codehaus.mojo
truezip maven插件
更换损坏的舱单
复制
包裹
src/main/resources/META-INF/MANIFEST.MF
${project.build.directory}/${project.build.finalName}.${project.packaging}/META-INF
谢谢,我只是想再核实一下。我没有发现任何具体的细节,当一个jar名称被一分为二的时候会发生什么,我想确保我遇到的问题不是来自于清单上的jar名称跨越多行,中间插入空格。链接似乎被破坏了。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>truezip-maven-plugin</artifactId>
<executions>
<execution>
<id>replace-broken-manifest</id>
<goals>
<goal>copy</goal>
</goals>
<phase>package</phase>
<configuration>
<files>
<file>
<source>src/main/resources/META-INF/MANIFEST.MF</source>
<outputDirectory>${project.build.directory}/${project.build.finalName}.${project.packaging}/META-INF</outputDirectory>
</file>
</files>
</configuration>
</execution>
</executions>
</plugin>