Maven Intellij IDEA是否自动编译jar并将其安装到本地存储库中?

Maven Intellij IDEA是否自动编译jar并将其安装到本地存储库中?,maven,intellij-idea,Maven,Intellij Idea,当我处理两个项目时,会出现一种奇怪的现象: A是我从git repo克隆的开源项目,B是我自己的项目,依赖于A 由于我在A中修改了一些实现,因此我使用mvn install将其构建并安装到本地存储库中: A-core_2.10-1.1.0-SNAPSHOT.jar A-core_2.10-1.1.0-SNAPSHOT-test.jar .... 但几天后,当我发现一个行为怪异的JAR时,我发现我的本地存储库中出现了更多的JAR: A-core_2.10-1.1.0-20150521.01013

当我处理两个项目时,会出现一种奇怪的现象:

A
是我从git repo克隆的开源项目,
B
是我自己的项目,依赖于
A

由于我在
A
中修改了一些实现,因此我使用
mvn install
将其构建并安装到本地存储库中:

A-core_2.10-1.1.0-SNAPSHOT.jar
A-core_2.10-1.1.0-SNAPSHOT-test.jar
....
但几天后,当我发现一个行为怪异的JAR时,我发现我的本地存储库中出现了更多的JAR:

A-core_2.10-1.1.0-20150521.010136-4.jar
A-core_2.10-1.1.0-20150523.130616-22.jar
....
有人知道会发生什么吗?
因为我只安装了一次mvn,所以另一个jar
…-20150521.010136-r.jar
来自哪里?它是由Intellij IDEA生成的吗

如果它是一个开源项目,并且您没有将版本号更改为自定义版本号,那么这很可能是从开源项目本身生成的。如果有更新的快照可用,Maven将下载它们,如果您构建项目B。

谢谢回复!我不太明白你所说的
这很可能是开源项目本身的构建
,我将它克隆到我的本地文件夹,导入IDEA,并且自上次修改以来只在终端中进行了一次
mvn构建
,它是如何完成的?好吧,如果它是开源项目,然后项目本身可能有它自己的构建服务器,在那里他们定期构建库等(例如,在Apache基金会、Eclipse基金会等项目)。你克隆了什么开源项目?我克隆了apache spark,所以你的意思是当我构建自己的项目时,依赖于spark的
快照
版本,maven每次都会从构建服务器搜索jar并自动为我下载最新的快照版本?如果是,我能阻止maven为我这么做吗?我应该在pom中设置一些内容吗?因为我真的需要自己的版本在本地使用。不,这就是Maven(和快照)的全部用例。如果您想要定制版本的Spark,请克隆Spark,将版本号更改为其他版本(可能会在项目名称中添加字符串),然后使用该版本。