gpt4 book ai didi

java - 如何将现有的 java Maven 模块添加到 Grails Maven 模块?

转载 作者:行者123 更新时间:2023-12-03 23:05:31 26 4
gpt4 key购买 nike

我正在为某个 java 项目开发原型(prototype),直到现在我都使用多模块 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 模块的 Artifact 放入其中并在 Grails 项目中重用它们。这样可以将 Grails 开发与其他在纯 Java 上完成的业务逻辑开发分开。

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

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

那么,我应该选择什么选项呢?还有哪些可能性?我有这种感觉,就像我的问题有一个非常简单的答案,然后我会感到非常羞愧。

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

最佳答案

答案其实很简单。我所要做的就是执行以下操作:

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

好吧,原来一切就是这么简单。 Maven 真的很棒,可能出现这么长的问题是因为我只是没想到它会这么棒。

关于java - 如何将现有的 java Maven 模块添加到 Grails Maven 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13850694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com