Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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
uploadArchives不会上载从其他gradle文件生成的工件_Gradle_Nexus - Fatal编程技术网

uploadArchives不会上载从其他gradle文件生成的工件

uploadArchives不会上载从其他gradle文件生成的工件,gradle,nexus,Gradle,Nexus,在build.gradle中,我有一个生成war文件的war任务和两个生成jar文件的任务。Jar生成任务在其他gradle文件中定义,并使用apply from子句导入main build.gralde中 问题是uploadArchives只上传war文件,不上传从其他文件生成的jar文件 这里出现问题的潜在原因是什么 我的build.gradle如下所示 apply plugin: 'java' apply plugin: 'war' apply plugin: 'maven' war {

在build.gradle中,我有一个生成war文件的war任务和两个生成jar文件的任务。Jar生成任务在其他gradle文件中定义,并使用apply from子句导入main build.gralde中

问题是uploadArchives只上传war文件,不上传从其他文件生成的jar文件

这里出现问题的潜在原因是什么

我的build.gradle如下所示

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'maven'

war {
   .... // generates war file
}

apply from: 'Createjar1.gradle'  // creates jar1
apply from: 'Createjar2.gradle'  // creates jar2
apply from: 'Createjar3.gradle'  // creates jar3

uploadArchives {
repositories {
    mavenDeployer {
        repository(url:"${nexusURL}") {
            authentication(userName: 'username', password: 'password')
        }
        snapshotRepository(url: "${nexusURL}") {
            authentication(userName: 'username', password: 'password')
        }
    }
 }
}

默认情况下,“maven”插件将上载“archives”配置中包含的任何工件。您的WAR将自动添加到该配置中,但必须明确定义其他工件

artifacts {
    archives jar1Task
    archives jar2Task
    archives jar3Task
}

这会给出一条错误消息,说明名为的工件已经存在。我能够通过以下方法解决这个问题:归档文件:file(“abc.jar”)、名称:“abc”、类型:“jar”、归档文件:file(“xyz.jar”)、名称:“xyz”、类型:“jar”。此外,您还需要为您在archives addFilter(“abc”)中添加的每个工件添加以下内容以上传存档文件:{artifact,file->artifact.name=='abc'}我相信您可以通过为您的工件提供唯一的分类器来解决这个问题。分类器不适用于我的工件。