如何从 maven-archetype-webapp 工件生成 Ear 文件?
我目前有一个使用 maven-archetype-webapp 工件构建的项目。该项目的默认打包是war。
我是否可以在此 webapp pom.xml 中插入 maven-ear-plugin 生成包含此项目 war 的ear文件?我尝试过,但是 war 文件没有嵌入到生成的 Ear 文件中。除了 war 文件之外,它包含所有内容。
我读了很多 Maven 相关的文章,也许我可以使用 maven-archetype-j2ee-simple 工件。然而,我不愿意这种使用有两个原因: -
- 这个工件处理 ejb 和我不使用的所有额外功能。这让我的项目看起来很臃肿。
- 其次,似乎需要我先将 Web 模块安装到存储库中,然后才能创建 Ear 文件。这是创建 Ear 文件的首选方法吗?
如何使用 web 应用程序的 pom.xml 中的 maven-ear-plugin 创建包含 war 文件的ear 文件?如果这种方式不可能,那么首选方式是什么?
如果我的问题听起来有点新手,我很抱歉,我意识到我还有很多东西需要了解 Maven。
非常感谢。
I currently have a project built with maven-archetype-webapp artifact. The default packaging for this project is war.
Is it possible for me to insert the maven-ear-plugin in this webapp pom.xml generate an ear file that contains this project war? I tried that, but the war file doesn't get embedded in the generated ear file. It has everything except the war file.
I read many Maven related articles, and perhaps I could use maven-archetype-j2ee-simple artifact. However, I'm reluctant to this use for 2 reasons:-
- This artifact handles ejbs and all the extra features that I don't use. It makes my project looks bloated.
- Second, it seems like it requires me to install the web module into the repository first before I can create the ear file. Is this the preferred way to create an ear file?
How do I create an ear file that contains the war file using maven-ear-plugin from my webapp's pom.xml? If this way is not possible, what's the preferred way?
I'm sorry if my questions sound a little novice, I realized I have whole lot more to learn about Maven.
Thanks much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
maven Ear 插件假设任何 WAR 都是一个单独的项目,因此您需要两个项目,再加上一个父项目。这是maven如何打包的一个函数。每个项目都会产生一个工件。有很多方法可以解决这个问题,但 Maven 会因为你的罪孽而惩罚你。 这个问题详细介绍了该主题。
The maven ear plugin assumes that any WAR is a separate project, so you need two projects, plus a parent project. It's a function of how maven does packaging. Each project produces one artifact. There are ways around this, but Maven will punish you for your sins. This question goes into some detail on this topic.