我目前有一个使用 maven-archetype-webapp 工件构建的项目。该项目的默认打包是war。
我是否可以在这个webapp pom.xml中插入maven-ear-plugin生成一个包含这个项目war的ear文件?我尝试过,但是 war 文件没有嵌入到生成的 Ear 文件中。它包含除 war 文件之外的所有内容。
我读了很多Maven相关的文章,也许我可以使用maven-archetype-j2ee-simple Artifact 。然而,我不愿意这样做有两个原因:-
- 这个工件处理 ejb 和所有我不使用的额外功能。这让我的项目看起来很臃肿。
- 其次,似乎需要我先将 Web 模块安装到存储库中,然后才能创建 Ear 文件。这是创建 Ear 文件的首选方法吗?
如何使用 web 应用程序的 pom.xml 中的 maven-ear-plugin 创建包含 war 文件的 Ear 文件?如果这种方式不可行,首选方式是什么?
如果我的问题听起来有点新手,我很抱歉,我意识到我还有很多东西需要了解 Maven。
非常感谢。
最佳答案
maven Ear 插件假定任何 WAR 都是一个单独的项目,因此您需要两个项目,再加上一个父项目。这是maven如何打包的一个函数。每个项目都会产生一个工件。有很多方法可以解决这个问题,但 Maven 会因为你的罪孽而惩罚你。 This question详细介绍该主题。
关于java - 如何从 maven-archetype-webapp 工件生成 Ear 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2838653/