Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/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
Java “解决方案”;无法将MANIFEST.MF添加到ZIP";梯度误差_Java_Gradle_Build_Manifest.mf - Fatal编程技术网

Java “解决方案”;无法将MANIFEST.MF添加到ZIP";梯度误差

Java “解决方案”;无法将MANIFEST.MF添加到ZIP";梯度误差,java,gradle,build,manifest.mf,Java,Gradle,Build,Manifest.mf,我正在使用gradle构建一个JAVA项目。这个java项目包含2个jar任务。另一个jar任务创建Manifest.MF。第二个Jar任务没有。当它试图构建时,它给出了一个错误“无法将MANIFEST.MF添加到ZIP”。我没有自定义manifest.mf文件。这是gradle创建的默认文件 我已经研究过overflow和gradle操作manifest.mf的方法,但还没有这样的运气 以下是给出错误的任务代码(所有其他任务都可以正常工作): 我希望该任务能够编译并在jar中创建manifes

我正在使用gradle构建一个JAVA项目。这个java项目包含2个jar任务。另一个jar任务创建Manifest.MF。第二个Jar任务没有。当它试图构建时,它给出了一个错误“无法将MANIFEST.MF添加到ZIP”。我没有自定义manifest.mf文件。这是gradle创建的默认文件

我已经研究过overflow和gradle操作manifest.mf的方法,但还没有这样的运气

以下是给出错误的任务代码(所有其他任务都可以正常工作):


我希望该任务能够编译并在jar中创建manifest.mf文件。

我找到了答案。行:
rootSpec.filter(ReplaceTokens,tokens:[VERSION:versNumber,BUILD:buildNumber,HTTPSECURE:HTTPSECURE])
是问题所在。不太清楚为什么,我想出来了。行:
rootSpec.filter(ReplaceTokens,tokens:[VERSION:versNumber,BUILD:buildNumber,HTTPSECURE:HTTPSECURE])
是问题所在。但我不太清楚为什么。
task ejbJar(type: Jar) {
    description = "This task is to build the ytd EJB.JAR file for zzz."
    rootSpec.exclude("**/*.sig","**/config/*.xml")
    rootSpec.filter(ReplaceTokens, tokens: [VERSION: versNumber, BUILD: buildNumber, HTTPSECURE: httpsecure])
    archiveFileName = "${ytd}_ejb.jar"

    //includes the class files into the JAR
    from(sourceSets.main.output) {
        include "**"
    }

    //replace tokens in xml files
    //includes the xml files inside of the config folder in the jar files
    from('src/main/resources/com/foo/config') {
        include '*.xml'
        into 'com/foo/config'
        filter(ReplaceTokens, tokens: [VERSION: versNumber, BUILD: buildNumber, HTTPSECURE: httpsecure])
    }

    from('src/main/webapp/META-INF') {
        into "/META-INF"
        include("*ejb*.xml")
    }

    from('src/main/webapp/WEB-INF/classes') {
        into '/'
        include('**/*')
        exclude('zzz1.properties', 'zzz2.properties')
    }



}