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