问题标签 [maven-war-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
539 浏览

maven - 配置 jetty:run 以使用“最终”lib 文件夹

我有一个使用war覆盖的 Maven 项目。如本答案所述,WAR 覆盖的一个问题是它们似乎有效地回避了 Maven 的依赖关系解析。这会导致构建和/或运行时验证错误。

幸运的是,有一个解决方案 - 使用overlay/excludes配置指令。这确保了结果WAR只会有你想要的。

但是,似乎jetty:run使用war插件的work目录进行库解析(其中确实包含“坏”JAR)。

通过使用jetty:run-war或可以避免该问题jetty:run-exploded

然而,

  • 由于我们的大多数项目使用 , 运行良好jetty:run
  • 并且jetty-run在开发过程中使用 scanInterval 非常方便

我想知道是否可以向 POM 添加一些配置更改以强制run目标使用目标lib文件夹?


出于说明目的,以下是具体示例:

  • 该项目使用org.apache.solr:solr:3.6.2覆盖,
  • 覆盖包括旧版本的 Guava,r05而我们的代码使用更新的版本14.0.1,,
  • 如前所述,虽然目标工件war很好,jetty:run但将版本包含r05在类路径中,这会导致我们的代码出现验证错误。

这是示例 POM:

0 投票
1 回答
7215 浏览

maven - 如何从 maven-war-plugin 获取生成的 MANIFEST.MF 文件?

作为构建过程的一部分,我正在生成一个单独的工件(其中包含静态 Web 文件的压缩文件),我希望在其中包含与 war 插件生成的清单文件中相同的信息。清单文件已正确生成到 war 文件中,但我想访问它,以便我可以复制它并将它也放入我的压缩文件中。

在 maven-war-plugin:manifest 目标的文档中,它写道:

清单文件在 warSourceDirectory 中创建。

默认为位置:${basedir}/src/main/webapp

但是,生成的唯一清单是在战争中。将生成的清单文件放入我的源代码对我来说也没有任何意义。我认为它将被放在战争被打包的目标中。

我错过了什么吗?

0 投票
1 回答
135 浏览

maven - 为什么 Maven 会创建我过滤的 persistence.xml 的两个副本?

下面是我正在处理的 maven 项目的相关部分。我希望 Maven 过滤 WEB-INF 目录中的 persistence-context.xml 文件,然后将其放入我的战争中的 WEB-INF 目录中。当我在这个项目上运行 mvn clean package 时,我看到以下两件事。

  1. 在 target/projectname/ 文件夹中成功过滤的 persistence-context.xml。这不是正确的地方。我想要它在 WEB-INF 中的一个目录。

  2. target/projectname/WEB-INF/ 文件夹中未过滤的 persistence-context.xml。这不是我想要的。我想要过滤后的。

我什至不确定这个文件的两个副本是如何生成的!任何帮助将非常感激。

0 投票
2 回答
10344 浏览

maven - 为什么 maven-war-plugin 会生成 JAR 而不是 WAR?

我首先使用 CXF教程遵循 合同pom.xml,虽然生成的源代码甚至成功完成了构建,但它无法创建 WAR 文件。

相反,它会创建一个 JAR 文件。

我的理解是pom.xml中负责创建 WAR 的部分是:

我在那里看不到任何<goal><execution>元素(与那个不同build-helper-maven-plugin),但我也明白,这个插件暗示了这一点,因为即使官方使用页面也展示了这一点:

所以......我错过了什么?

有什么可以解释一个maven-war-plugin像这样以意想不到的方式表现并默认生成 JAR 而不是 WAR 的?

有没有办法强迫它产生战争?

0 投票
1 回答
900 浏览

maven - Maven 战争覆盖与 Alfresco AMP

根据这篇文章,应该可以使用 Alfresco Module Package (AMP) 作为覆盖(它似乎是一个普通的 .zip 文件)

依赖项:

但是我在打包战争时收到以下警告消息:

有什么想法吗?

0 投票
1 回答
1385 浏览

maven - Maven:如何在战争中更改类 jar 名称?

我在 maven-war-plugin 的设置中使用archiveClassesandattachClasses以便将模块类打包在 jar 中。

但我想更改这个 .jar 名称。例如,war-classes.jar 而不是 module-war-1.0-SNAPSHOT.jar。

如果可以,我该怎么做?

0 投票
1 回答
79 浏览

maven - 如何在构建过程中替换spring的xml文件

我目前正在将我的 spring mvc web 应用程序捆绑到一个单一的 war 文件中,问题是我的 spring 上下文 xml 文件的开发版本正在部署到我的服务器上。

我在我的 xml 文件中为 mysql 和 hibernate 分配了调试或非优化配置。

如何在构建过程中将此文件与生产版本交换?

0 投票
1 回答
760 浏览

maven - maven-war-plugin chmod 退出代码是:127

我正在运行一个 shell 来调用一个 ant,它进一步调用了 Redhat 中的一个 maven。

谁能指出这个错误的背景?

[错误] 无法
在项目站点上执行目标 org.apache.maven.plugins:maven-war-plugin:2.3:war (default-war):解压文件时出错 [/scratch/mingtzha/12.1/.../sites -dojo/target/sites-dojo-1.6.1-12.1.4.0-SNAPSHOT.war] 到 [/scratch
/mingtzha/12.1/.../sites-dojo]:chmod 退出代码为:127 -> [帮助 1 ]

我发现这个“useJvmChmod”属性可能是相关的。 http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html

0 投票
1 回答
4758 浏览

maven - Maven 战争插件未按预期过滤

我目前正在使用 maven 3.1.1 和 maven war 插件 2.4 ( http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html ) 建立一个 Web 项目。特别是,我正在尝试使用 maven war 插件以我过去已经做过的方式复制和过滤资源并且它有效。下面是相关的pom配置:

WAR插件配置

激活的配置文件定义:

META-INF/context.xml:

最后是“development.properties”:

context.xml 被复制到 WAR 中,但没有被过滤。如果我尝试直接在配置文件中写入属性,它可以工作(即不引用属性文件):只有当我引用属性文件时它才有效。读取属性文件似乎有问题。此外,在“打包”之后,maven 不会在控制台中告诉我找不到属性文件(所以 maven 找到了文件)。

最后,我尝试使用 maven war 插件 2.1.1 版(和 2.3 版)来完成这项工作,并且它可以工作:我尝试了更多次,只是更改了 maven war 插件的版本,所以我很确定问题就是这样。

我错过了什么吗?这是 Maven 战争插件的已知错误吗?我是否试图以正确的方式获得结果(过滤该文件)?谢谢。

0 投票
2 回答
8671 浏览

maven - Maven 战争插件复制任意文件

我很抱歉这肯定是基本的 maven/war 插件,但我完全不是 maven 用户。我只需要将这件事破解到一个基于 maven 的项目中。

我需要做的是将一个(基本上是任意的)目录和文件复制到我的战争的根目录中。我需要它们在战争部署时显示为可通过 HTTP 获得的资源。

我不能简单地将它们放在源代码树中的“正确位置”。这是因为有问题的文件实际上是我项目的源文件。我意识到这有点奇怪,但这是一个文档项目,我需要在同一场战争中展示源代码和效果。

那么,在一般情况下,我将如何配置 Maven 战争插件以将给定目录及其内容复制到我的战争的根目录?(顺便说一句,我试图理解这个工具的文档,但它似乎是基于对 maven 的如此多的理解,感觉如果不先学习 maven 就永远不会理解它,而且我有点太刚才时间紧迫!)

许多TIA托比。