问题标签 [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.
maven - 从 webapp/WEB-INF/lib 中排除所有 jar
我在我的 WEB 项目中放置了第三方 jar/src/main/webapp/WEB-INF/lib/
我已经在pom.xml中提到了所有必需JAR 的依赖关系。现在,由于在 POM 中定义了依赖项,因此 JAR 将自动打包到文件夹中。lib
- 我想排除
lib
. - 在构建 WAR 时,依赖项 JAR 应该打包在 lib 中
LIB
我不能从 WEB-INF 中删除,因为它用于本地开发
这是我迄今为止尝试过的:
任何想法?
maven - 如何在“复制webapp资源”之后和打包阶段的“构建战争”步骤之前调用ant任务来处理webapp文件?
我正在从蚂蚁迁移到 Maven。但是,我有一个自定义构建功能,用于处理 Web 资源,我还不想适应 maven(成本非常高),所以我使用的是 ant run 插件。
我想处理一些调用ant任务的资源文件。这需要在阶段包中的“复制 webapp 资源”步骤之后和“构建战争”步骤之前发生。
当我运行我的 ant 任务时,阶段是“包”
我可以完成对文件target/myapp-webapp
夹下文件的更改。但是,由于
myapp-webapp.war
是在运行 ant 任务之前构建的,因此这些更改不会成为该 war 文件的一部分。
有没有办法做到这一点?
grails - gmaven grails 项目不使用 maven-war-plugin
我在 mvn grails:war 执行中打包过滤的 context.xml 文件时遇到问题。
当你做 mvn war:war 时我让它工作,但这样做并不会创建我的 grails 应用程序战争。运行 mvn grails:war 时,我没有得到 context.xml 文件。这是 grails:war 目标没有运行 maven-war-plugin 的情况吗?我没有错误。任何帮助表示赞赏。这是我的相关pom设置:
maven-2 - maven 如何在本地机器上查找 jar?
我为我的项目配置了以下 pom.xml:
但是,由于我使用的是 maven-2.0.5 版本,因此由于兼容性问题,我将不得不使用 maven-war-plugin-2.0.jar 而不是 maven-war-plugin-2.1.1.jar。在创建战争时,我收到以下错误:
[INFO] 执行目标 'org.apache.maven.plu gins:maven-war-plugin:2.0:war' 的插件管理器内部错误:找不到 mojo 'org.apache.maven.plugin s:maven-war -plugin:2.0:war' 在插件'org.apache.maven.plugins:maven-war-pl ugin'
如果 Maven 无法从 apache 站点下载它,有什么方法可以让 Maven 在我的本地(因为我在本地有它)上查找 jar?另请确认我拥有的 pom.xml 是否正确?
maven-2 - 战前执行目标存档包
我想在打包大战之前运行 maven-replacer-plugin 。我找到了“准备包”阶段,但它在战争组装和所有资源复制之前触发,但我需要在所有资源复制时和存档创建之前进行更改。这在maven中可能吗?
顺便说一句,我使用 maven-2.2.1。
谢谢。
gwt - 从 web-inf/classes 中排除一些类
我使用 maven-war-plugin 构建 WAR,我需要从 web-inf/classes 中排除几个 WAR 类(这是 GWT 类,它们不应该进入服务器部署)。
我怎么能在Maven中做到这一点?我尝试了“warSourceExcludes”、“packagingExcludes”但没有成功。
maven 中任何简单而有创意的解决方案都是可以接受的,我需要它用于测试项目。
谢谢
java - 将 Maven 依赖项复制到 webapp 目录
这类似于这个问题,但有一个转折。
我在远程 Maven 存储库中有一个 jar。这个 jar 实际上是一个在 Web 浏览器中运行的小程序。所以它需要被复制到 webapp/resources/ 目录中。
我正在尝试使用 maven-war-plugin 来复制它,我已经很接近了,但我似乎无法完全正确地获取语法,因为 jar 只是在本地 m2 目录中,而不是在 build 目录中完全没有(尽管我相信这是在由此产生的战争中。)
java - 在 Maven 战争覆盖期间覆盖资源
正如我所收集的,maven-war-plugin
永远不要覆盖覆盖目标中已经存在的文件。例如,如果我有一个war
A依赖于war
B,两者都包含位于 的一些资源src/main/resources/some.xml
,则结果A.war
将包含some.xml
来自A项目的资源。
我如何指示maven-war-plugin
从依赖项(B)中获取资源而不是原始资源(A)?
maven-2 - Maven WAR 插件以及如何管理依赖项
好的,这可能是一个熟悉的问题,但是我仍然感到困惑,我正在努力寻找一个真正阐明细节的答案。
我有几个 Maven 项目的场景 ,大多数创建 JAR 工件,一个负责创建 WAR 工件。WAR 工件依赖于具有编译范围的 JAR 工件,以便将这些 JAR 包含在 WEB-INF/lib 文件夹中。
我仍然不清楚这个插件如何响应范围,即哪些依赖项和传递依赖项包含在 WARs lib 文件夹中。我的理解是,编译将导致包含一个 JAR 及其依赖项,这些依赖项也使用编译范围声明(以此类推递归),但是提供的责任停止了。具有提供范围的依赖项将不会被包含在内。
问题
举一个具体的例子,WAR项目war-a
依赖于一个内部JAR项目jar-a
,其范围为compile。jar-a
由于范围,将包含在 WARs lib 文件夹中。现在jar-a
依赖于具有编译范围的 3rd 方库 log4j。由于其作用域,log4j JAR 也包含在 lib 文件夹中。但是...... log4j 的依赖项也是如此,例如邮件等。我想要 log4j 但我不想要它的依赖项。如果我用提供的方式配置 log4j,它的依赖项将不会被包括在内,但本身也不会。
我已经考虑了选项,例如使用排除项,但是当有 40 多个内部 JAR 项目时,POM 文件中有很多排除项。此外,要使用排除项需要我了解第三方依赖项的具体知识,这感觉没有必要。
任何人都可以澄清,扩展,回答上述任何问题吗?任何输入将不胜感激。
更新除上述内容外,我还坚持做出决定。我是否应该允许将所需的 3rd 方 JAR 列表捆绑在 WAR 中,通过我们拥有的各种内部 Maven JAR 项目的编译范围依赖关系来解决。或者我应该声明内部 Maven JAR 项目中提供的所有 3rd 方依赖项,然后在 Maven WAR 项目上指定一个带有编译范围的明确集。
我更喜欢前一种方法,因为额外的第 3 方依赖项将通过传递依赖路径自动添加到 WAR 工件中。然而,第二种方法提供了确切知道将包含哪些 3rd 方库的确定性。
maven - maven eclipse wtp没有自定义WEB-INF 文件夹中的文件
当我使用 eclipse wtp 部署 webapp 时,pom.xml 中指定的自定义“webxml”文件不会作为 'web.xml' 复制到 WEB-INF 文件夹。但是,该文件在 WEB-INF 文件夹中的战争中被正确复制。
这是 pom.xml 的片段
${webXmlPath} 取决于配置文件并具有默认值:
谢谢 :)