java - 如何从 maven-archetype-webapp 工件生成 Ear 文件?

标签 java maven-2 web-applications war ear

我目前有一个使用 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/

相关文章:

java - 马文 : How do you deal with dependencies that are both direct and transitive?

azure - 本地服务器内的 Azure 混合连接的出站规则要求是什么?

java - Java中不同 map 投影之间的转换

maven - 从配置中检索 Maven 类路径

java - 可扩展的搜索算法 SQL

java - 添加附加路径到 exec-maven-plugin

javascript - 保护 Web api 不被浏览器外部调用

c# - 为什么 Properties.Settings.Default 没有被保存?

java - 名为 'type' 的 scala 方法

java - 控制何时创建对象