我正在构建一个 Spring Boot Web 应用程序,在我的设置中,我有一个本地存储库,用于托管我所有的第三方 JAR - 该存储库是 Ivy 格式。我已经能够在连接到 Maven 中央存储库的同时构建 WAR 文件,现在我需要能够从我的本地存储库离线构建。
我已将所需的所有依赖项复制到 Ivy 格式( /{module}/{name}/{version}/{name}-{version}.jar
),现在我想关闭 mavenCentral()
存储库并在本地构建。
但是,如果我运行 gradle 依赖项,当我连接到 maven Central 时,我看不到任何列出的传递依赖项。在我的本地仓库中,我还添加了适当的 .pom 文件(遵循与 JAR 文件相同的命名约定),并尝试添加 ivy.xml 文件,但仍然没有传递依赖的迹象。
谁能指出我正确的方向或建议我在这里做错了什么?
我的本地仓库中的一个 Spring-Boot JAR 示例:
$ ls /repo/org.springframework.boot/spring-boot-starter-web/1.1.8.RELEASE
spring-boot-starter-web-1.1.8.RELEASE.jar spring-boot-starter-web-1.1.8.RELEASE.pom
我的构建文件配置本地 Ivy repo :
repositories {
ivy { url "file://repo" }
}
运行 gradle 依赖的示例:
+--- org.springframework.boot:spring-boot-starter-web: -> 1.1.8.RELEASE
+--- org.springframework.boot:spring-boot-starter-security: -> 1.1.8.RELEASE
+--- org.springframework.boot:spring-boot-starter-thymeleaf: -> 1.1.8.RELEASE
+--- org.springframework:spring-context-support: -> 4.0.7.RELEASE
最佳答案
如果你没有得到传递依赖,那么它可能找不到元数据描述符(ivy.xml)。您可能必须指定自定义布局。查看here详情。
关于maven - Gradle 和本地 Ivy 存储库未找到传递依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28997851/