当前位置: 首页 > 知识库问答 >
问题:

Maven-war-plugin双打manifest.mf

司徒鸿文
2023-03-14

我有一个wab-web应用程序包(osgi),我需要我的自定义清单。在互联网上,我找到了一个解决方案——我们创建src/main/Resources/META-INF/MANIFEST.MF并在pom中:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-war-plugin</artifactId>       
 <version>2.3</version><br>
 <configuration>
 <archive>
  <manifestFile>
   ${project.build.outputDirectory}/META-INF/MANIFEST.MF     
  </manifestFile>
</archive>
</configuration>
</plugin>

但是当我在最终战争中这样使用时,我有两个MANIFEST.MF

  1. /META-INF/MANIFEST.MF
  2. /WEB-INF/类/META-INF/MANIFEST.MF

我发现的这个问题的解决方案:

<packagingExcludes>/WEB-INF/classes/META-INF/</packagingExcludes>

但我想知道原因——为什么?。这是个bug吗?o我不明白某些事情,或者我做错了什么?

共有1个答案

子车轶
2023-03-14

/WEB-INF/类/元-INF/MANIFEST.MF 来自 src/main/resources/元 INF/Manifest。MF(由 maven 复制,就像放置在资源文件夹中的任何其他文件一样)

/元索引/清单。MF 由专家战争插件创建

我相信你只需要第二个。因此,您应该删除资源中的清单 .mf。

希望有帮助!

 类似资料:
  • 选项无效。 运行生成一个war目录,其中。class文件位于目录中,它们也不会存档到目录中的jar中。产生相同的结果。 JIRA票-https://issues.apache.org/JIRA/browse/mwar-355 这就是有问题的项目:https://bitbucket.org/dmos62/raudondvaris

  • 我正在运行一个shell来调用ant,它进一步调用Redhat中的maven。 有人能指出这个错误的背景吗? [错误]无法在项目站点上执行目标org.apache.maven.plugins:maven-war-plugin:2.3:wa r(默认war):错误:将文件[/scratch/mingtzha/12.1/../sites-dojo/target/sites/dojo-1.6.1-12.

  • 但是,如果我添加以下属性,插件将忽略它(生成的WAR具有默认名称,即artifactId-version): 以下是文档的两个摘录: Warname: null FailonMissingWebXML: 如果web.xml文件丢失,构建是否失败。如果希望WAR构建时不使用web.xml文件,则设置为false。如果您正在构建一个没有web.xml文件的覆盖层,这可能很有用。 类型:布尔 因为:2.

  • 我使用GrailsCreatePOM将我的Grails应用程序转换为Maven项目 我希望创建一个war并执行mvn干净编译安装 波姆。xml 在创建战争期间,我得到以下错误 [错误]无法执行目标组织。grails:grails-maven插件:2.4.4:projectcds上的maven-grails-appwar(默认的maven-grails-appwar):执行目标组织的默认maven-

  • 我需要Maven战争插件来使用自定义清单。中频。正如我从文档中读到的那样,你可以把你的清单。MF 文件位于 src/主/资源/元 INF/ 中,并将以下配置添加到您的 pom.xml 文件中: 然而,我看到了最美。WebRoot/META-INF中添加的MF是默认值。我找不到哪里出了问题。有什么建议或链接到github项目吗?谢谢

  • 我有几个库,我已经手动部署到我的Nexus存储库中,使用: 包装战争时有没有可能消除时间戳?