在离线模式下使用maven时,存储库有什么意义

时间:2016-10-14 13:34:16

标签: java maven

我正在构建我的应用程序没有问题:

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

1 个答案:

答案 0 :(得分:0)

Maven存储库是一个很好的概念,在您处理多个maven项目时非常有用。如果多个项目需要,它可以节省下载相同和相同罐子的时间。

当您构建任何maven项目时,首先它会查找依赖项jar的本地存储库,如果不可用,则从通过网络访问的存储库(可以是Intranet或Internet)下载并将其存储在本地存储库中。

下载后,如果将来任何项目需要,将使用相同的罐子。 (版本应该匹配)