当前位置: 首页 > 知识库问答 >
问题:

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

闾丘书
2023-03-14

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

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状态。国际商用机器公司informix:ifxjdbc:jar:4.1在本地存储库中不可用。

为什么它现在抱怨离线存储库?即使当我编辑url的一些废话,它仍然在工作。那么,当url是irelevant时,这些存储库在脱机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个答案

洪伟兆
2023-03-14

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

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

一旦下载,如果将来任何项目需要,将使用相同的JAR。(版本应匹配)

 类似资料:
  • 所以,当我试图更新我的构建时,我发现自己在挠头。渐变依赖项。com。Android支持:appcompat库版本26.0.2未解析。经过一段时间的搜索,我了解到我必须将Google的maven存储库添加到我的gradle项目文件中的存储库列表中。所以现在Google的maven repository和jcenter()都列出了。 那么,为什么谷歌现在托管自己的maven存储库,有什么理由不使用它呢

  • 它将所有依赖项下载到本地缓存。但插件当然不包括在任何配置中。 看起来即使在缓存中下载了插件,它仍然会在脱机模式下失败,并且会出现以下消息:plugin cannot be resolve from https://plugins.Gradle.org/api/Gradle因为Gradle正在脱机模式下运行

  • 在第一次评估Artifactory之后,我发现在进行初始设置并选择Maven和Gradle集成时,它为我创建了两组存储库,这让我感到困惑 平台-gradle-dev-local 平台-分级-发布-本地 平台-libs-release-local 平台-libs-snapshot-local 有什么理由使用两个gradle repos,或者我可以对所有构建都使用标准的Maven repos吗?Gra

  • 我正在尝试学习存储库模式,似乎有点困惑,当我急于加载关系并将db逻辑排除在控制器之外时,如何使用此存储库模式。 快速概述我的存储库/应用程序结构。 示例ProductInterface。php 示例类别接口。php 好的,最简单的部分是使用DI向控制器注入模型依赖关系。 列出与相关产品的所有类别更加困难,因为我不再使用雄辩的模型。我正在使用一个界面,它没有暴露所有雄辩的方法。 如果我没有在我的El

  • 我有什么想法可以解决这个问题吗?

  • 问题内容: 数据访问对象(DAO)和存储库模式之间有什么区别?我正在使用Enterprise Java Beans(EJB3),Hibernate ORM作为基础结构以及域驱动设计(DDD)和测试驱动开发(TDD)作为设计技术来开发应用程序。 问题答案: 是 数据持久性 的抽象。 是 对象集合 的抽象。 会被认为更接近数据库,通常以表为中心。 将被视为更接近域,仅处理汇总根。 可以使用来实现,但您