为什么 Maven 在 target 和 groupId 目录中为相同的源创建两个 jar
Why does Maven create two jars for same source in target and groupId directory
我有一个 Maven 项目 src
和 pom
有以下 groupId
和 artifactId
<groupId>com.useless.coders</groupId>
<artifactId>nonsense-program</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
现在,当我们使用 mvn clean install
构建 jar 时,会创建一个目标文件夹,其中 jar 名称和版本为 nonsense-program-0.0.1
。当我导航到文件夹结构 com/useless/coders/
中的 .m2
存储库时,我可以看到在 maven-metadata-local.xml
中还使用额外的元数据信息创建了相同的 jar。我知道 Maven 存储库的用途,并且在 target
目录中,我们将构建的所有输出与生成的 .class
文件一起存放在 jar and/or 库中。
但我很想知道为什么我们维护两个 jar 副本,一个在 target
目录中,另一个在 groupId
路径目录中。我们不会节省一些 space.
这是因为您指示 Maven 这样做。如果您调用 mvn clean package
(而不是 install
),则只会创建 target
下的 Jar。 install
阶段告诉 Maven 将生成的 Jar 保存在本地存储库中。
我有一个 Maven 项目 src
和 pom
有以下 groupId
和 artifactId
<groupId>com.useless.coders</groupId>
<artifactId>nonsense-program</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
现在,当我们使用 mvn clean install
构建 jar 时,会创建一个目标文件夹,其中 jar 名称和版本为 nonsense-program-0.0.1
。当我导航到文件夹结构 com/useless/coders/
中的 .m2
存储库时,我可以看到在 maven-metadata-local.xml
中还使用额外的元数据信息创建了相同的 jar。我知道 Maven 存储库的用途,并且在 target
目录中,我们将构建的所有输出与生成的 .class
文件一起存放在 jar and/or 库中。
但我很想知道为什么我们维护两个 jar 副本,一个在 target
目录中,另一个在 groupId
路径目录中。我们不会节省一些 space.
这是因为您指示 Maven 这样做。如果您调用 mvn clean package
(而不是 install
),则只会创建 target
下的 Jar。 install
阶段告诉 Maven 将生成的 Jar 保存在本地存储库中。