Java 不允许用户部署';。json';使用Gradle进入人工工厂
我正在尝试使用gradle将项目jar部署到JFrog Artifactory中。Java 不允许用户部署';。json';使用Gradle进入人工工厂,java,gradle,jar,artifactory,Java,Gradle,Jar,Artifactory,我正在尝试使用gradle将项目jar部署到JFrog Artifactory中。build.gradle文件如下所示(部署所需的部分): buildscript{ 存储库{ jcenter() } 依赖关系{ 类路径“org.jfrog.buildinfo:buildinfo提取器gradle:4.16.1” } 配置.classpath{ 解决策略{ 0的CacheDynamicVersions,“秒” 缓存更改模块0,“秒” } } } 插件{ id‘java’ id为'com.jfrog
build.gradle
文件如下所示(部署所需的部分):
buildscript{
存储库{
jcenter()
}
依赖关系{
类路径“org.jfrog.buildinfo:buildinfo提取器gradle:4.16.1”
}
配置.classpath{
解决策略{
0的CacheDynamicVersions,“秒”
缓存更改模块0,“秒”
}
}
}
插件{
id‘java’
id为'com.jfrog.artifactory'版本'4.16.1'
id“maven publish”
}
存储库{
mavenCentral()
mavenLocal()
存储库{
mavenCentral()
马文{
url“/artifactory/gcc-maven/”
证书{
username=“${artifactory\u user}”
password=“${artifactory\u password}”
}
}
}
出版{
出版物{
mavenJava(MavenPublication){
groupId组
版本
来自components.java
}
}
}
人工制品{
contextUrl=“${artifactory\u contextUrl}”
发表{
存储库{
repoKey='gcc maven local'
username=“${artifactory\u user}”
password=“${artifactory\u password}”
maven=true
}
默认值{
出版物('mavenJava')
publishArtifacts=true
属性=['version':版本,'dev.team':']
publishPom=true
}
}
决心{
存储库{
repoKey='gcc maven'
username=“${artifactory\u user}”
password=“${artifactory\u password}”
maven=true
}
}
}
当我使用用户名和密码时,一切正常,但当我使用令牌时,会推送.jar.module和.pom文件,但不会推送构建描述符。我有下一个错误:
> Task :artifactoryDeploy
Deploying build descriptor to: <artifactoryPath>/artifactory/api/build
Could not build the build-info object.
java.io.IOException: Failed to send build descriptor. 403 Response message: {
"errors" : [ {
"status" : 403,
"message" : "User token:fim-artifactory-gcc-maven-rw-token is not permitted to deploy '<name>.json' into '<name>.json'."
} ]
}
>任务:artifactoryDeploy
将构建描述符部署到:/artifactory/api/build
无法生成生成信息对象。
java.io.IOException:未能发送生成描述符。403响应消息:{
“错误”:[{
“状态”:403,
“消息”:“不允许用户令牌:fim artifactory gcc maven rw令牌将“.json”部署到“.json”中。”
} ]
}
令牌如下所示:
{
"scope" : "member-of-groups:fim-artifactory-gcc-maven api:*",
"access_token" : "<very_long_string>",
"expires_in" : 0,
"token_type" : "Bearer"
}
{
“范围”:“集团成员:fim artifactory gcc maven api:*”,
“访问令牌”:“,
“在中过期”:0,
“令牌类型”:“承载者”
}
一些网站建议任何构建都必须选中复选框,但我没有找到它,我认为这可能是Build.gradle文件的问题
我做错了什么?
有没有可能跳过构建描述符?我在中发现,通过在默认部分将
publishBuildInfo
设置为false
可以忽略构建描述符。在我的情况下,这就是我要找的。我在Jfrog上也遇到了同样的问题,设置publishBuildInfo=false解决了问题发行
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'libs-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
defaults {
publishBuildInfo = false
publications ('mavenJava')
}
}
}
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'libs-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
defaults {
publishBuildInfo = false
publications ('mavenJava')
}
}
}