问题标签 [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.
java - maven ear 打包策略,构建依赖项目
在看了各种建议之后,我似乎仍然无法对耳朵文件有任何成功的 maven 策略。
我有这个结构:
父 pom.xml: ...
(ejb/war/ear 有这个作为父级)
我正在使用 maven-war-plugin / maven-ejb-plugin / maven-ear-plugin。
EAR 模块将 ejb/war 项目作为依赖项。
现在,如果我想建立自己的耳朵,我需要先建立战争。如果我不这样做,那只是不是最新版本。
有没有更好的办法?
编辑:仅供参考,打开一个 netbeans 错误,只需单击“运行”即可运行我的项目:http: //netbeans.org/bugzilla/show_bug.cgi?id= 218807
java - 将补丁应用于 Maven 战争覆盖
我们有一个 Maven 战争覆盖项目,目前向战争中添加了许多类和资源文件。我们还需要修改一些文件。我们不想将文件复制到我们的项目中并在那里进行修改,而是要使用 Maven 补丁插件。然而,由于战争覆盖似乎发生在一个 Maven 构建阶段(包)中,似乎没有办法在正确的时间应用补丁。
是否有使用 Maven 将补丁应用于战争文件的简单解决方案?
maven - Maven war-inplace:清理类和 lib 文件夹
当您运行 maven war:inplace 时,所有类和库都将复制到项目的 webapp 文件夹中。当我更新库的版本号时,我最终会在 lib 文件夹中得到两个版本的相应 jar,旧版本和新版本。
有什么方法可以在复制新库之前清理 lib 文件夹?
(“mvn clean install war:inplace”不起作用...)
maven - 在打包战争之前在 Maven 构建阶段运行 ant 任务?
部署 webapp 时,我需要更新 UI 资源中的一些变量,解压缩一些资产并连接一些文件,目前这是通过 ant 任务实现的。我正在尝试使用类似这样的东西在 Maven 构建过程中运行此任务...
以上失败,因为文件尚未复制到目标目录。如果我将阶段设置为“打包”,则 ant 任务运行良好并且所有文件都已创建/修改,但这无济于事,因为在运行 ant 目标之前已经构建了 .war。
基本上,我需要在准备包阶段结束时运行我的 ant 目标。
看过生命周期参考后,我无法锻炼如何将更精细的目标暴露给 antrun 插件。
有任何想法吗?
eclipse - 如何在maven构建期间覆盖WAR文件中的文件?
我有一个在 Eclipse(更准确地说是 MyEclipse 10)中开发并使用 Maven 3 构建的 Java webapp 项目。
我有以下布局(仅包括与我的问题相关的文件:
如您所见,我包含了许多配置文件。在项目结构中处于适当位置的人,即在内部src/main/resources
,并且src/main/webapp
是我在 MyEclipse 中工作时经常使用的人。我可以使用 MyEclipse 连接器自动将部署更新为我的开发机器上的 Tomcat 实例。我只需单击“运行服务器”即可调试。实际上在这种情况下根本不需要使用 Maven。
然后,当我想为另一个环境(例如测试或生产)构建一个版本时,我运行mvn -P test clean install
它并构建了一个不错的 WAR。
我的目标是将最终 WAR 中的配置文件替换为src/config/{environment}/
.
我在我的pom.xml
:
然后,我尝试将这些资源从指定的配置文件(使用environment
变量)复制到 WAR 中的正确位置(或将被压缩到 WAR 中的临时文件夹):
现在这似乎可行,除了“标准”资源在此之后被复制到目录中,因此它们覆盖了这些文件。所以我总是以例如log4j.xml
fromsrc/main/resources
而不是 from the one 结尾说src/main/configuration/prod/
从 Maven 输出中提取:
正如您在最后一行看到的那样,src/main/webapp
之后复制了来自的内容,从而覆盖了我的自定义文件:(
我的问题:如何强制 Maven 使用“来自激活的配置文件”的文件并以某种方式覆盖“自然”文件?
performance - 加速 maven 战争插件
maven 插件对我来说工作得很慢。在我的项目中,webapp 文件夹有近 15000 个小文件(图像、jsp、css 等)。当我用 maven 组装它时,它首先将所有文件复制到target/myProject-1.0.0
目录中,然后从中构建myProject-1.0.0.war
文件。复制过程需要 10 分钟,构建.war
需要 2 分钟。
.war
正如我所见,如果文件将直接从 webapp 文件夹中组装,则构建可能会快得多。有可能吗?
java - 添加对战争建设的额外依赖
我有带有下一个模块的 Maven 项目:app
, app-impl
, web
. 我用 maven-war-plugin 构建网络。现在app-impl
取决于app
. web
取决于app-impl
。
但web
应该只取决于app
. 通过一些神奇的 maven-war-plugin 应该包含app-impl
在战争中。我可以在没有额外的 Maven 模块的情况下做到这一点吗?
maven - 你可以在 Maven 中分享 manifestEntries 吗?
在我的主 POM 中,我在<pluginManagement>
其中定义了maven-jar-plugin
, maven-war-plugin
和maven-ear-plugin
. 其中每一个都有
有没有办法共享一组清单条目,这样我就不必将新项目添加到 3 个不同的地方?
m2eclipse - maven-war-plugin 错误的解决方法:无法复制工件的文件
如果我在 Eclipse 中有一个简单的 maven webapp 项目,它依赖于我的工作区中的另一个 maven 项目,我会收到错误消息...
无法复制工件 [group:artifact:jar:version:compile] 的文件 (org.apache.maven.plugins:maven-war-plugin:2.3:exploded:make-war-exploded:compile) pom.xml /Project line xx Maven 构建问题
它在网上提到了几个地方(在 maven 团队之间就损坏的部分、如何修复它等进行了辩论)——我发现唯一的解决方法是“禁用工作区分辨率”。嗯,好的,但这就是为什么我在我的工作区中拥有该项目的原因 - 因此可以对其进行编辑并且无需每次都安装即可获取更改。
我们最近刚刚转换为使用 maven,所以我没有太多经验 - 不知何故,我们的 SVN 中有一些项目即使使用相同的配置也不会出现该错误(它们是由不在这里的顾问创建的不再)。我不知道有什么区别——我使用了几乎相同的 pom,尝试了不同版本的 eclipse/war 插件,添加了构建助手/wtp 集成,以不同的方式创建项目,比较了 eclipse 配置文件等。我能想到的唯一区别是那些已部署,而我不在家里这样做。
我只是希望该错误消失(不禁用工作区分辨率),因此我不必忽略所有错误或在每次运行时都得到一个对话框来确认继续。这可能是我错过/不知道的简单事情。
gwt - GWT 2.5.0 mvn 安装错误“重新绑定结果必须是一个类”
问题:我在使用gwt-maven-pluginmvn install
构建的 GWT 2.5.0 项目上运行并得到错误。Rebind result 'c3gw.fwk.gui.client.ClientFactory' must be a class
这是我的 pom.xml 的片段:
这是我的 C3gwGui.gwt.xml 的片段:
这是引发错误的行的片段:
ClientFactory 是一个接口,ClientFactoryImpl 实现了该接口。
到目前为止我发现:当我运行调试时,代码在 Eclipse 中运行良好,但当我执行 mvn install 时它就不起作用了。我已经运行了 gwt-maven-plugin 可用的所有目标(清理、编译、源代码等),它们都可以工作,所以我现在唯一能得出的结论是在 maven-war 期间发生了一些事情-plugin 阶段或更晚。
我还从以下google 教程中获取了此代码的基础知识,他们使用了一个接口,因此它应该可以工作,假设示例项目也可以工作。