【问题标题】:How to add existing java Maven modules to Grails Maven module?如何将现有的 java Maven 模块添加到 Grails Maven 模块?
【发布时间】:2012-12-12 23:48:13
【问题描述】:

我正在为一些 java 项目开发原型,直到现在我使用多模块 Maven 项目,其中根 pom 是另外 6 个 Maven 模块的父级。最初我打算用基于 Swing 的经典 GUI 制作一个独立的解决方案。

现在我决定制作一个 Web 应用程序并尝试 Grails。 我搜索了很多并研究了一段时间,但无法弄清楚组织我的 Maven 项目的最简单方法是什么。 现在我知道如何创建空的 Grails Maven 项目。但是我应该如何向它介绍我的其他 Maven 模块呢? 我目前想出的是:

  1. 新建 Grails Maven 模块,将其他模块的所有源代码放入其中的 src/java 目录,并将其他模块 pom 文件中的所有依赖项和插件复制到 Grails 的 pom 中。
  2. 创建空的 Grails 插件(每个现有 java 模块一个)并将 java Maven 模块的代码和依赖项迁移到 Grails 插件 pom 文件。
  3. 设置自己的本地 Nexus 存储库。将 java 模块的工件放入其中并在 Grails 项目中重用它们。这样可以将 Grails 开发与其他在纯 java 上完成的业务逻辑开发分开。

出于显而易见的原因,我不喜欢所有这三种解决方案:

  1. 我将放弃模块化和重用当前 java 项目的单独模块的可能性。
  2. 首先,重构过多。其次,最终我将既没有​​良好的可重用 Maven 模块,也没有 Grails 插件(它看起来只是一个)。
  3. 我仍处于项目的早期原型设计阶段,我将不得不经常在 Grails 模块开发的同时更改 Java 模块。显然,在单行更改后等到我的 java 模块进入 Nexus,在 Grails 中查看整个结果,这显然不是很方便。

那么,我应该选择什么选项?其他的可能性是什么?我有这种感觉,好像我的问题有一个非常简单的答案,之后我会很惭愧。

这里可能相关的另一件事是:我目前使用 Jenkins 为我的 java 模块运行单元测试以及 cucumber-jvm 验收测试,并希望继续这样做;我使用 IntelliJ Idea 12 作为我的 IDE。

【问题讨论】:

  • 只是一个建议,既然您已经回答了自己的问题,请将其发布到答案部分并自己接受。这样,此问题将被标记为已回答,人们将能够更快地找到解决方案。

标签: java maven grails groovy multi-module


【解决方案1】:

事实证明,答案非常简单。我所要做的就是关注:

使用根 pom 转到文件夹 运行“grails create-app my-app-name” 使用新 grails 项目转到创建的文件夹并运行“grails create-pom my.group.id” 将根 pom 添加到 grail 的最后一个命令生成的 grails pom.xml 作为父级 将我的其他 6 个 maven 模块作为依赖项添加到 grails 的 pom.xml 中。 在我的根 pom 上运行“mvn clean install”后,我检查了为我的 Grails 模块生成的 .war 文件是否包含来自其他模块的所有必要 jar。

好吧,一切都变得如此简单。 Maven 真的很棒,也许出现了这么长的问题是因为我没想到它会那么好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 2020-04-22
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多