【发布时间】:2016-10-14 13:34:15
【问题描述】:
我正在毫无问题地构建我的应用程序:
mvn clean install -o
但是当我从 .m2/settings.xml 中的默认配置文件中删除存储库时
<repositories>
<repository>
<id>ais3-repo</id>
<name>My Repository</name>
<url>some.url.to.work.artifactory</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<layout>default</layout>
</repository>
<repository>
<id>icz-internal-repo</id>
<url>some.url.to.work.artifactory</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
然后我得到错误:
存储库系统处于脱机状态,但工件 com.ibm.informix:ifxjdbc:jar:4.1 在本地存储库中不可用。
为什么现在抱怨离线存储库?即使我将 url 编辑为一些废话,它仍然可以工作。那么当 url 不相关时,这些存储库在离线 maven 模式下的意义何在?
PS:
在设置中我仍然定义了本地存储库:
<localRepository>/home/user/.m2/repository</localRepository>
PS1:
ll /home/user/.m2/repository/com/ibm/informix/ifxjdbc/4.1
drwxrwxr-x 5 user user 4096 Jul 22 2014 ../
-rw-rw-r-- 1 user user 1057532 Jul 9 2014 ifxjdbc-4.1.jar
-rw-rw-r-- 1 user user 1366 Oct 14 15:11 ifxjdbc-4.1.jar.lastUpdated
-rw-rw-r-- 1 user user 57 Jul 9 2014 ifxjdbc-4.1.jar.sha1
-rw-rw-r-- 1 user user 417 Jul 9 2014 ifxjdbc-4.1.pom
-rw-rw-r-- 1 user user 1346 Oct 14 15:11 ifxjdbc-4.1.pom.lastUpdated
-rw-rw-r-- 1 user user 57 Jul 9 2014 ifxjdbc-4.1.pom.sha1
-rw-rw-r-- 1 user user 788 Sep 22 2014 ifxjdbc-4.1-sources.jar.lastUpdated
-rw-rw-r-- 1 user user 543 Sep 22 2014 m2e-lastUpdated.properties
-rw-rw-r-- 1 user user 249 Oct 15 2015 _maven.repositories
【问题讨论】:
-
离线工作时,不考虑存储库,这是设计使然。如果它与
mvn clean install -o一起使用,那么构建项目所需的所有工件都在您的本地存储库中,因此,您不能让 工件 com.ibm.informix:ifxjdbc:jar:4.1 在本地存储库。要么您更改了本地存储库,要么您在某处更改了依赖项。com.ibm.informix:ifxjdbc:jar:4.1是否在/home/user/.m2/repository/com/ibm/informix/ifxjdbc/4.1下的本地仓库中? -
我编辑了我的问题,以便您可以在 PS1 中看到输出
-
您可以尝试删除所有
.lastUpdated文件和_maven.repositories吗?但是您不应该在运行mvn clean install -o或删除设置中的某些存储库时出现该错误... -
ok 删除 _maven.repositories 可以帮助我解决这个问题。非常感谢
-
太好了,我会为此写一个答案。我找到了真正的原因。