包装到Maven项目

时间:2016-04-05 09:39:15

标签: java maven maven-2 maven-package

目前我们正在使用 ANT 脚本来构建项目并运行jUnit测试。现在,我们决定搬到Maven。

我们有两个网络项目,核心项目子项目。现在这里变得复杂了。他们的项目如下。 Project structure 现在,如果我想将子项目添加到核心项目,那么我将创建一个带有WebContent文件夹的子项目罐并将其放入Core-Project。现在每当我运行Core-Project时,我们都有一个实用程序类,它将Sub-Project的内容提取到Core-Project中。

最终(预期)项目结构应如下所示。

final project structure

我怎样才能在Maven中实现这一目标?我的意思是如何创建一个包含位于src-> main-> webapp中的文件的jar。

1 个答案:

答案 0 :(得分:0)

您似乎需要重新考虑一下您的架构。这个答案可能超出了你的问题的范围,但将Maven视为“约定优于配置”非常重要。可以使用maven打包工具的组合来实现您的布局,但是如果您重新构建并遵循Maven约定,那么对项目外的人员来说更有意义,并且维护工作量更少。

建议:

config-project
sub-project
core-project

config-project可以保存应用程序所有部分的配置。子项目和核心项目可以依赖于该项目并在运行时使用它。您应该将此项目打包为“jar”或“zip”,具体取决于您需要为其他项目提供的资源。

子项目应该只包含应用程序的非基于Web的部分所共有的二进制代码。它应该打包为“jar”项目,而不是与config-project依赖项一起打包。

核心项目应打包为“战争”项目。并按照此处建议的目录结构进行操作:Maven War Plugin

保持配置,非Web代码和Web代码之间的分离需要一点时间来习惯。 Tomcat有一个很好的原型,可以生成由这些部分组成的maven项目结构。生成和检查很容易:Maven Tomcat Archetype