Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不允许用户部署';。json';使用Gradle进入人工工厂_Java_Gradle_Jar_Artifactory - Fatal编程技术网

Java 不允许用户部署';。json';使用Gradle进入人工工厂

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

我正在尝试使用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.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')
        }
    }
}