gpt4 book ai didi

java - 意外的 Java Maven 项目命名

转载 作者:行者123 更新时间:2023-12-04 08:08:40 26 4
gpt4 key购买 nike

我尝试在 Eclipse 中创建多个 Java Maven 项目,但每次创建新项目时,Java 文件夹结构中都缺少 groupId 部分。
例如,我创建了一个 Eclipse Maven 项目,这里是自动生成的 pom.xml :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.facebook</groupId>
<artifactId>profiler</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
然而,很明显 groupId 存在 (com.facebook) 它从未显示在文件夹结构中,每次导入看起来像:
import profiler.mypackagename.MyClass
代替:
import com.facebook.profiler.mypackagename.MyClass
com.facebook 部分也未显示在文件夹结构中。我怎么了?我尝试遵循 Java 约定,浏览了很多教程,但我不知道我在这里遗漏了什么。

最佳答案

Group id 和 package 是不相关的概念,只是碰巧看起来很相似。
Group id 仅用于组织相关的 maven 项目。如果您查看本地 maven 存储库(在 ~/.m2/repository 下),您会看到它根据用于存储不同 Artifact 的组创建了一个层次结构。
包是一种 Java 语言功能,用于组织代码以便类获得唯一名称。它不知道 maven。
Java 是在 maven 之前创建的,除非你正在实现一个 maven 插件,否则 java 代码不应该知道 maven。即使这样,包也与组 ID 没有任何关系。
你没有做错,你看到的是正常的。

关于java - 意外的 Java Maven 项目命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66089171/

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