问题标签 [maven-ear-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 投票
1 回答
990 浏览

maven - 添加后构建项目时出错to maven pom.xml :工件不是项目的依赖项

<jarModule>在我的 Mavenpom.xml文件中添加了一个新的。

在我添加这个之前,所有的项目建设都是正确的<jarmodule>

错误将显示如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-ear-plugin:2.6:generate-application-xml (default-generate-application-xml) on project ABCD : Artifact[jar:javax.transaction:jta] is not a dependency of the project.

我在这里做错了什么?有什么我错过的吗?谢谢。

0 投票
2 回答
905 浏览

maven - 向现有 EAR 添加其他依赖项

我有 2 个独立的 Maven 项目。

第一个构建了很多工件,并将它们打包到一个 EAR 中。这是标准产品。

第二个项目是为客户定制的,并构建了一些额外的 JAR 文件。我需要一种机制将这 2 个 JAR 文件插入到第一个项目构建的 EAR 的 lib 目录中。

有没有一种很好的简单方法可以做到这一点,我在第二个项目中列出了第一个项目的工件,这样它就不需要知道它是如何组合在一起的,它只是插入了额外的 JARS。

0 投票
0 回答
633 浏览

jakarta-ee - 如何使用 maven-ear-plugin 将配置文件添加到 EAR

我需要将 ehcache 配置文件(必须放在类路径中的 .xml 文件)部署到我的应用程序 EAR 中。由于我的应用程序在多个模块中使用 ehcache,我想将配置文件放在 EAR 级别。

为了使它在 JBOSS EAP 6 中工作,我不得不将 ehcache.xml 文件放入:

并将其添加到 application.xml 下:

问题是我用 maven-ear-plugin 打包了整个 EAR 文件,我发现没有办法告诉它将新模块添加到 application.xml 中。“类”文件夹和 .xml 文件在 EAR 中,但我需要告诉 JBOSS 将其加载到类路径中。

有一种更简单的方法来实现这一点,而无需在 application.xml 中添加模块?我的 pom 的耳插件中缺少配置?将 .xml 配置文件放在 EAR 级别是否有意义,还是应该将其放在我的 .war 之一中?

谢谢!

0 投票
1 回答
694 浏览

java - maven-ear-plugin 项目属性查找失败

我创建了带有过滤器的简单耳朵项目。我想为每个环境使用不同的设置,这些设置应该以application.xmlenv-entries 的形式传递给生成的文件。ear包的生成是用maven-ear-plugin完成的,如下图:

为此,我必须使用另一个插件properties-maven-plugin。它成功地从文件中读取属性并将它们设置为 maven 项目属性,所以我可以使用 .xml 将它们插入到 pom.xml 文件中${}。它适用于大多数 pom.xml 元素(即,不幸的是,当我将它放在我需要它的元素<applicationName>内时,它没有成功查找。下面是生成的。env-entryapplication.xml

这可能是一个应该在Maven Ear Plugin发布的错误,但我在那里没有帐户。如果有人想自己检查一下,我还附上了存档的 maven 项目:test.zip

编辑

在按照用户@skegg99建议创建文件后,我已经设法使用maven-resource-plugin和过滤文件克服了这个问题。由于我无法替换此文件,我不得不将其复制到 META-INF 目录。我看起来不漂亮,我知道,但它现在解决了这个问题。以下是 的附加标记:application.xmlmaven-resource-plugin

还有这里:

整个项目配置可以从这里下载。

0 投票
1 回答
4295 浏览

maven - 如何强制 Maven EAR 插件在 application.xml 中使用上下文根变量?

我正在使用 Maven EAR 插件来生成application.xml我的 EAR,其中包含一个 WAR。

我希望contextRoot在运行时确定 WAR(这要归功于 JBoss AS 7),所以application.xml应该包含如下内容:

这通过my.context.root在 JBoss AS 7 中设置系统属性并配置 JBoss 以替换 XML 描述符文件中的变量来工作:

如果我通过编辑application.xmlEAR 中生成的内容来做到这一点,它就可以工作。

但是,我无法让 Maven${my.context.root}写入application.xml.

我首先尝试了这个(因为没有过滤,它应该可以工作):

显然,即使filtering默认为false,Maven 仍然认为它应该使用它作为 Maven 属性。结果是 EAR 插件只输入了 WAR 的名称:

所以我尝试逃避:

然后按字面意思理解:

我怎样才能让 Maven 做我想做的事?(当然,我可以尝试application.xml使用 Maven 替换插件来破解,但这很难看......)

感谢您的任何提示!

0 投票
1 回答
342 浏览

java - 如何使用 Maven 重命名 EAR 工件

我有一个项目 Maven 耳朵模块,我喜欢将耳朵从 ProjectIt-4.1.0.ear 重命名为 ProjectIt-4_1_0.ear 实际上有一个这样的版本:x_y_z 来解决部署约束

0 投票
0 回答
143 浏览

jsf-2 - 如何使用 maven-ear-plugin 创建基于 maven 配置文件的变量以在 web.xml 中使用

我希望做与这个问题类似的事情:如何用 Maven 属性替换 web.xml 中的值?和这篇网络文章类似

我想使用基于 maven 配置文件的变量将 JSFProjectStage 添加到我的 3 个(战争)子项目的 web.xml 中。

我不使用 maven-war-plugin。我正在使用 maven-ear-plugin。有没有办法使用 maven-ear-plugin 做到这一点?

0 投票
1 回答
1070 浏览

maven - Eclipse 中的 ejb-client Maven 依赖项

ejb-client我在 Maven 项目中使用类型的依赖项:

当我使用 Maven 构建项目时,它可以正常工作:它包含一个仅具有远程 EJB 接口(没有实现)的依赖项版本。

但是,当我将项目导出到 Eclipse Luna 并将其从 Eclipse 部署到 jBoss/WildFly 时,Eclipse 会复制完整版本的依赖项,就像我使用<type>ejb</type>.

Eclipse 也给了我一个警告:

不完全支持对类型为 ejb-client 的项目 foo 的依赖。可能会出现类路径和/或部署问题。尝试 Maven->禁用工作区解析...

有没有办法让ejb-client依赖项在 Eclipse 中工作?或者有什么解决方法吗?

0 投票
1 回答
2578 浏览

java - maven-ear-plugin contextRoot 被忽略

我一直在使用 maven-ear-plugin 创建耳包并使用自定义 contextRoot 生成 application.xml(一切正常)。现在我想创建 2 个耳包并将它们部署在不同的上下文路径下,所以我定义了具有 2 个执行的插件。但是由于某种原因,maven-ear-plugin 忽略了 contextRoot 属性,并且在生成的 application.xml 中,它在两个耳朵中都使用 artifactId 而不是 contextRoot(因此它们具有相同的上下文根“app-ui”)。这是我的 maven-ear-plugin 定义:

请问有什么建议吗?

0 投票
2 回答
2186 浏览

java - JBoss 中的基本 ear-package 部署

这就是我想要实现的目标:

  • 1个耳包:all.ear
  • ear-package 包含两个war的(A.war,B.war在ear的根)
  • ear-package包含1个自制jar C和大量第三方jar(APP-INF\lib下)

这个包需要部署在 JBoss WildFly 8.2.1 上

我正在使用 maven 的 ear 插件(maven-ear-plugin,版本 2.10.1)。我在 pom 中的配置如下所示(这是结合了其他三个项目的“父”项目):

我的 META.INF/application.xml 文件如下所示:

耳包制作完成。所有第三方jar都在APP-INF/lib下,但是C.jar在根目录下。

在尝试将包上传到 JBoss 时,我遇到了很多问题并遇到了不同的错误:

当我将每个库都放在根目录下时(不要使用 APP-INF),我得到了 B.war 的 ClassNotFoundError(无法从 C.jar 中找到类)。

我已经尝试将“jboss”标签添加到 maven-ear-plugin(配置),但 JBoss 8+ 不支持这些标签。

我想要一个 .ear 包,它可以部署在 JBoss 中,包含 2 个战争和 1 个 jar,这两个战争都引用了它。

我错过了什么?(具体的 Manifest 配置?针对 A、B 或 C 的具体 pom.xml 设置?JBoss 设置?...?)