【问题标题】:Maven GroupID and ArtifactID for J2EE Utility ProjectJ2EE 实用程序项目的 Maven GroupID 和 ArtifactID
【发布时间】:2015-06-12 18:34:44
【问题描述】:

我有 3 个现有 Eclipse 项目的集合,我想将它们制作成 Maven 项目,但我很难理解 GroupID、ArtifactID 和我的 Java 打包之间的关系,以及为它创建的不同目录结构Maven 与 Java 项目。我对 J2EE 很陌生,对 Maven 完全陌生,所以欢迎任何建议!让我先描述一下我的项目。

第一个项目是 IDMU_JAR。基础 Java 打包是 com.foo.util.merge,它包含 Java 类,如 Template 和 Bookmark,目标 jar 文件是 com.foo.util.merge.jar

第二个项目是 IDUM_WAR。该项目中的基类是 com.foo.util.merge.web,它引用了 IDMU_JAR 项目,并且只包含几个在 IDMU_JAR 中公开功能的 Servlet。

第三个项目是 IDMU_EAR。目前这只是一个用于创建包含 IDMU_JAR、WAR 及其依赖项的部署 EAR 的设备。

我的问题是:

我的 J2EE 打包和命名是“典型的”还是我已经违背了最佳实践?

我是创建 Maven 项目然后将其转换为 Faceted 项目并选择构面,还是应该创建 Java Utility/WAR/EAR 项目然后将它们转换为 Maven 项目?

这似乎对项目的目录结构有很大影响,这重要吗?

我的 Eclipse 项目名称是否必须与 Maven 工件 ID 匹配?

【问题讨论】:

    标签: java eclipse maven jakarta-ee naming-conventions


    【解决方案1】:

    您可以在 maven 中配置几乎任何东西,从文件结构到项目特殊配置。但如果不是绝对必要的话,你应该坚持使用 maven 默认值。

    您可以从该项目模板开始: javaee-essentials-pom

    对于项目命名:

    GroupID:com.foo

    ArtifactID:idmu-utils、idmu-war、idmu-ear

    包:jar、war、ear

    使用 Eclipse:

    首先使用我提供的模板。从 Eclipse 导入为 maven 项目应该会自动解析所有可用的方面。

    【讨论】:

    • 如果我的完全限定名比 com.foo.... com.foo.util.merge 是 Java 包,我的 GroupID 是 com.foo.util 还是 com.foo.util .merge?
    • 对不起,我对 maven 很陌生。我假设我应该从 mvn archetype:generate 命令开始,而不是使用 Eclipse - New Maven Project 向导。如何利用您已链接的 javaee-essentials-pom.... 我已尝试在 mvn generate 命令上将其指定为 -DarchetypeArtifactId=javaee-essentials-pom,但这显然不是正确的方法。 .. 我只是将 git-hub 项目克隆到我的机器上吗?如果是这样,它相对于 maven/bin 应该去哪里?
    • 首先克隆它。 GroupID 是一个逻辑标识符,仅用于组织您自己的包,因此 GroupId 可能对您所有的包都相同。根据 maven 约定 maven.apache.org/guides/mini/guide-naming-conventions.html,您的 GroupID 可以更复杂
    • 感谢大家的帮助,我想我还应该提一下,我有一个现有的 GitHub 项目作为源代码 (github.com/FlatBallFlyer/IBM-Data-Merge-Utility) - 请记住,我不是专业的 Java 开发人员,只是试图以正确的方式完成某事的黑客。 v3 Beta 版本打包是 Eclipse 的默认设置。我的计划是 1. 生成一个新的 Maven 项目 2. 将我的源代码复制到其中。 3. 将其导入新的 Eclipse 工作区并进行测试, 4. 将该结构复制到 git 文件夹。 5.重新测试并发布。我离我有多远?你能建议开源发布方法吗?
    • 好吧,有点跑题了,但这是我的建议:1. 克隆我用 git 提供的模板,并删除不必要的部分 (appclient,ejb,wsappclient) 2. 在新分支中提交模板(例如:mavenBeta.v3) 3. 复制你的代码在那个分支中,并在每个 pom.xml 中更改 artifactid、groupid 等... 4. 在你的 github 中推送那个分支 5. 在 Eclipse 中尝试
    猜你喜欢
    • 2020-03-11
    • 2014-06-24
    • 2018-02-17
    • 2013-08-30
    • 2012-07-05
    • 2020-12-09
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多