问题标签 [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 投票
3 回答
7415 浏览

java - 在 Maven2 中,构建 WAR 和 EAR 以将 WAR 包含在单个 POM 中的最简单方法是什么?

情况很简单。我有一个 Java webapp,我将其转换为使用 Maven 构建。目前,应用程序使用 Ant 构建到单个 WAR 文件中,然后使用非常简单的 application.xml 将其捆绑到 EAR 中。

maven-war-plugin对我来说,maven-ear-plugin两者看起来都非常简单,而且似乎他们让我被迫将上述项目视为两个不同的项目,而 WAR 项目是 EAR 项目的依赖项。这似乎有点不方便,特别是因为 WAR 项目的配置文件设置会因每个环境而改变,这似乎会迫使我在每次尝试构建 EAR 时复制该构建调整。

综上所述:有没有一种直接的方法来构建 WAR 并将其打包到这个非常简单的 EAR 中?我想避免将它们作为两个单独的项目进行维护,但同样不希望使用程序集来实现这一点,而不是求助于过于混乱的黑客攻击。

0 投票
5 回答
48509 浏览

maven-2 - maven2:从 WAR 中排除目录

我试图从我的 WAR 文件中排除整个目录(${basedir}/src/main/webapp/webscripts),但它失败了怎么了?

这不起作用:

这个也是:

有人可以帮忙吗?

0 投票
1 回答
942 浏览

maven-2 - maven:添加任意文件作为 servlet 上下文资源

我有一个生成 webapp.war 的 maven war 项目,以及一个生成 skin.zip(一个包含资源和 XML 文件的文件)的 maven 'skin' 项目。现在我想将此 zip 文件添加为 servlet 上下文资源(例如 WEB-INF/skin.zip)。

我尝试使用叠加层,但它会将 zip 文件扩展为 WEB-INF,而不是将未扩展的文件放在那里:

有没有办法阻止它扩展资源——或者以某种方式将文件粘贴在那里(不使用 ant-plugin)。

注意:type是一个完全不必要且无用的配置元素——它没有告诉插件如何扩展工件,正如你所期望的——它告诉它如何查找它。例如,如果您将类型从 zip 更改为 jar,它会抱怨找不到工件(以最无用的方式)。

0 投票
1 回答
1166 浏览

maven-2 - 过滤包含类 maven-war-plugin

我想知道是否可以使用 maven-war-plugin 从 WEB-INF/类中过滤掉文件?

我有以下java包结构:

构建项目时,我的 WEB-INF/classes 文件夹中不需要任何 .client.* 类。(这是一个 GWT 项目)。

这可能吗?

提前致谢!

尼古拉斯

0 投票
2 回答
3999 浏览

java - 从多项目 Maven 配置生成 WAR 文件

我有一个Maven项目,有 4 个组件 Web、Persistence、Common 和 Other。

我的POM文件中的相关内容:

父 POM:

常见的pom:

持久性pom:

网络pom:

也许我在复制和粘贴中破坏了某些东西,但 XML 是有效的。

如何解决这个问题?

0 投票
1 回答
4247 浏览

maven-2 - 多模块项目中的 Maven War 插件执行和过滤

我正在使用 maven 构建一个多模块项目。

在一个项目中,我执行 maven-war-plugin 四次,以便在每次执行中过滤一些属性。作为一个独立的项目,它运行良好。

但是当我构建多模块时,它从“父”执行四次,但没有一个过滤属性。

谢谢你们!

这是我的 pom.xml 的片段:

0 投票
1 回答
2119 浏览

java - maven webapp-cache.xml 的问题

我们有一个使用 maven 配置的 Web 应用程序。我已经在 Eclipse 之外进行了重构(将文件从一个包移动到另一个包),因为这不是在 Eclipse 上设置的,它是一个小修复。但是,我确实忘记在文件中更新对该文件的引用。然后我mvn clean install 惊讶地发现它构建成功了。后来它在CI机器上失败了。

当我搜索我重构的文件的文本出现时,我在 file.xml 中发现了这个文件名的出现target\war\webapp-cache.xml。它包含此重构文件的两个引用(旧路径、新路径)。

这个文件是什么?还有其他人遇到过这个问题吗?

更新:我们在这个项目中确实使用了 GWT,当我mvn clean install删除目标文件夹然后开始编译 java 源代码时,它开始将 java 编译成 java 脚本,在做了 12 次排列之后,我的构建被击中了。所以,我做了 Ctrl+C 来停止它,然后我发出mvn install(没有清理)。

这似乎是问题所在。

但是在 GWT 开始编译之前,java 编译应该已经完成​​,因为这个错误(指的是不存在的 java 文件)应该是 java 编译失败。

0 投票
2 回答
1662 浏览

spring - Maven webResources 即时过滤

我正在使用 maven-war-plugin 过滤 WEB-INF 中的一些资源。主要是静态的东西,比如:

或者

一切都非常好。我的问题是它创造了一个开发噩梦。我通常热部署到本地 tomcat,我的 IDE 处理将更改(保存时)复制到目标目录。但是当这种情况发生时,我最终会在我的文件中得到一个文字 ${property} 而不是它最初被战争插件替换的东西。我更愿意即时测试视图/静态资源更改,而不必为每次更改重新部署。

我已经弄乱了 tomcat 插件来运行它,但是当我使用它时,除非我使用它来部署,否则不会发生资源过滤,在这种情况下我失去了热插拔功能。

我正在使用 spring,我可以很好地使用主题,过滤主题属性,然后使用它来替换我视图中的值。但是 js/css/其他静态的东西呢?

有没有办法让战争插件“即时过滤”?谁能推荐一种更好的方法来完成我正在尝试做的事情?我觉得我已经关注它太久了,并且对此事有一些狭隘的看法。

0 投票
1 回答
4479 浏览

java - “mvn package”在 Eclipse 中仍然失败,这个 Maven Web 应用程序运行

执行“mvn clean package”后出现此错误:

[错误] 无法在项目 webapp1 上执行目标 org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war):组装 WAR 时出错:需要 webxml 属性(或预先存在WEB-INF/web.xml 如果在更新模式下执行)-> [帮助 1]

尽管这个 maven Web 应用程序通过 Eclipse(运行方式/在服务器上运行)顺利运行。

0 投票
3 回答
1725 浏览

java - 基于maven-war-plugin的maven打包

我想知道 Maven 实现自定义打包并将其绑定到“包”阶段所需的步骤。

基本上我需要的是调用标准 maven-war-plugin 并创建一个特定结构的 ZIP 存档,该结构将包含创建的 WAR 文件。虽然我知道如何分别完成这些任务,但我不太明白如何将它们联系在一起。

我假设一个这样的序列:

  1. 在某个阶段 maven-war-plugin 被调用。它会自动处理特定于 WAR 的内容并创建 WAR 文件

  2. 在“包”阶段调用 maven-assembly-plugin。它创建所需结构的 ZIP 存档。

在 POM 文件中定义这些任务并将它们绑定到构建生命周期的最直接和正确的方法是什么?