spring 依赖管理 gradle 带有人工制品的插件
spring dependency-management gradle plugin with artifactory
我正在尝试启动一个新项目,并 运行 使用私有人工制品 gradle 存储库。我能够通过 artifactory 解决工件问题,但是当我尝试将 spring io & boot 混入其中时,spring 依赖管理插件在请求依赖时似乎没有添加版本,导致构建失败:
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':compileClasspath'.
> Could not find org.springframework.boot:spring-boot-starter-data-rest:.
Searched in the following locations:
https://my-website.com/artifactory/gradle-release/org/springframework/boot/spring-boot-starter-data-rest//spring-boot-starter-data-rest-.pom
https://my-website.com/artifactory/gradle-release/org/springframework/boot/spring-boot-starter-data-rest//spring-boot-starter-data-rest-.jar
https://my-website.com/artifactory/gradle-release/org.springframework.boot/spring-boot-starter-data-rest/ivy-.xml
https://my-website.com/artifactory/gradle-release/org.springframework.boot/spring-boot-starter-data-rest//spring-boot-starter-data-rest-.jar
我可以在 https://my-website.com/artifactory/gradle-release/org/springframework/boot/spring-boot-starter-data-rest/1.5.3.RELEASE/ 看到文件,但看起来“1.5.3.RELEASE”没有进入 URL 路径或文件名。
我猜我的问题出在构建脚本中 - 谁能帮我找出问题所在?
build.gradle:
plugins {
id 'java'
id 'io.spring.dependency-management' version '1.0.3.RELEASE'
id 'org.springframework.boot' version '1.5.3.RELEASE'
id 'com.jfrog.artifactory' version '4.4.18'
}
dependencyManagement {
imports {
mavenBom 'io.spring.platform:platform-bom:Brussels-SR2'
}
}
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'gradle-release-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
resolve {
repository {
repoKey = 'gradle-release'
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter-data-rest'
compile 'org.springframework.boot:spring-boot-starter-hateoas'
compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.apache.commons:commons-lang3'
testCompile'org.springframework.boot:spring-boot-starter-test'
testCompile'org.springframework.restdocs:spring-restdocs-mockmvc'
}
弄清楚了 - 看起来我的构建脚本没有问题 - 这是我的人工安全设置。
为了通过 artifactory 解决依赖关系,需要为远程存储库启用 deploy/cache(我认为不需要,因为我不打算将任何东西部署到 mavencentral); Artifactory 试图缓存我为 spring 添加的新依赖项导致构建失败)。资料来源:https://www.jfrog.com/knowledge-base/what-are-best-practices-for-using-permissions/
希望这对其他人有帮助,我已经浪费了一天的时间:)
我正在尝试启动一个新项目,并 运行 使用私有人工制品 gradle 存储库。我能够通过 artifactory 解决工件问题,但是当我尝试将 spring io & boot 混入其中时,spring 依赖管理插件在请求依赖时似乎没有添加版本,导致构建失败:
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':compileClasspath'.
> Could not find org.springframework.boot:spring-boot-starter-data-rest:.
Searched in the following locations:
https://my-website.com/artifactory/gradle-release/org/springframework/boot/spring-boot-starter-data-rest//spring-boot-starter-data-rest-.pom
https://my-website.com/artifactory/gradle-release/org/springframework/boot/spring-boot-starter-data-rest//spring-boot-starter-data-rest-.jar
https://my-website.com/artifactory/gradle-release/org.springframework.boot/spring-boot-starter-data-rest/ivy-.xml
https://my-website.com/artifactory/gradle-release/org.springframework.boot/spring-boot-starter-data-rest//spring-boot-starter-data-rest-.jar
我可以在 https://my-website.com/artifactory/gradle-release/org/springframework/boot/spring-boot-starter-data-rest/1.5.3.RELEASE/ 看到文件,但看起来“1.5.3.RELEASE”没有进入 URL 路径或文件名。
我猜我的问题出在构建脚本中 - 谁能帮我找出问题所在?
build.gradle:
plugins {
id 'java'
id 'io.spring.dependency-management' version '1.0.3.RELEASE'
id 'org.springframework.boot' version '1.5.3.RELEASE'
id 'com.jfrog.artifactory' version '4.4.18'
}
dependencyManagement {
imports {
mavenBom 'io.spring.platform:platform-bom:Brussels-SR2'
}
}
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'gradle-release-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
resolve {
repository {
repoKey = 'gradle-release'
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter-data-rest'
compile 'org.springframework.boot:spring-boot-starter-hateoas'
compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.apache.commons:commons-lang3'
testCompile'org.springframework.boot:spring-boot-starter-test'
testCompile'org.springframework.restdocs:spring-restdocs-mockmvc'
}
弄清楚了 - 看起来我的构建脚本没有问题 - 这是我的人工安全设置。
为了通过 artifactory 解决依赖关系,需要为远程存储库启用 deploy/cache(我认为不需要,因为我不打算将任何东西部署到 mavencentral); Artifactory 试图缓存我为 spring 添加的新依赖项导致构建失败)。资料来源:https://www.jfrog.com/knowledge-base/what-are-best-practices-for-using-permissions/
希望这对其他人有帮助,我已经浪费了一天的时间:)