【发布时间】:2012-12-12 23:48:13
【问题描述】:
我正在为一些 java 项目开发原型,直到现在我使用多模块 Maven 项目,其中根 pom 是另外 6 个 Maven 模块的父级。最初我打算用基于 Swing 的经典 GUI 制作一个独立的解决方案。
现在我决定制作一个 Web 应用程序并尝试 Grails。 我搜索了很多并研究了一段时间,但无法弄清楚组织我的 Maven 项目的最简单方法是什么。 现在我知道如何创建空的 Grails Maven 项目。但是我应该如何向它介绍我的其他 Maven 模块呢? 我目前想出的是:
- 新建 Grails Maven 模块,将其他模块的所有源代码放入其中的 src/java 目录,并将其他模块 pom 文件中的所有依赖项和插件复制到 Grails 的 pom 中。
- 创建空的 Grails 插件(每个现有 java 模块一个)并将 java Maven 模块的代码和依赖项迁移到 Grails 插件 pom 文件。
- 设置自己的本地 Nexus 存储库。将 java 模块的工件放入其中并在 Grails 项目中重用它们。这样可以将 Grails 开发与其他在纯 java 上完成的业务逻辑开发分开。
出于显而易见的原因,我不喜欢所有这三种解决方案:
- 我将放弃模块化和重用当前 java 项目的单独模块的可能性。
- 首先,重构过多。其次,最终我将既没有良好的可重用 Maven 模块,也没有 Grails 插件(它看起来只是一个)。
- 我仍处于项目的早期原型设计阶段,我将不得不经常在 Grails 模块开发的同时更改 Java 模块。显然,在单行更改后等到我的 java 模块进入 Nexus,在 Grails 中查看整个结果,这显然不是很方便。
那么,我应该选择什么选项?其他的可能性是什么?我有这种感觉,好像我的问题有一个非常简单的答案,之后我会很惭愧。
这里可能相关的另一件事是:我目前使用 Jenkins 为我的 java 模块运行单元测试以及 cucumber-jvm 验收测试,并希望继续这样做;我使用 IntelliJ Idea 12 作为我的 IDE。
【问题讨论】:
-
只是一个建议,既然您已经回答了自己的问题,请将其发布到答案部分并自己接受。这样,此问题将被标记为已回答,人们将能够更快地找到解决方案。
标签: java maven grails groovy multi-module