0

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

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

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

最终项目结构

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

4

1 回答 1

0

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

建议:

config-project
sub-project
core-project

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

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

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

保持配置、非 Web 代码和 Web 代码之间的分离需要一点时间来适应。Tomcat 有一个优秀的原型,它生成由这些部分组成的 maven 项目结构。易于生成和检查:Maven Tomcat Archetype

于 2016-04-05T11:26:30.360 回答