Java 使用gradle将清单文件添加到jar

Java 使用gradle将清单文件添加到jar,java,gradle,jar,manifest,Java,Gradle,Jar,Manifest,如何在jar文件中添加清单文件 plugins { id 'java' id 'application' } application { mainClassName = 'com.Main' } jar { from "MANIFEST.MF" } sourceCompatibility = 11 当我尝试执行jar时,我得到以下结果: %java-jar tmpApp.jar tmpApp.jar中没有主清单属性 以下是如

如何在jar文件中添加清单文件

plugins {
        id 'java'
        id 'application'
}

application {
        mainClassName = 'com.Main'
}

jar {
        from "MANIFEST.MF"
}

sourceCompatibility = 11
当我尝试执行jar时,我得到以下结果:

%java-jar tmpApp.jar
tmpApp.jar中没有主清单属性


以下是如何在构建的
jar
任务中生成适当的清单文件:

jar {
    manifest {
        attributes 'Main-Class': application.mainClassName
    }
}
或者,您可以为清单使用自定义文件:

jar {
    manifest {
        from 'MANIFEST.MF'
    }
}
您甚至可以创建两者的混合:

jar {
    manifest {
        // take the existing file as a basis for the generated manifest:
        from 'MANIFEST.MF'
        // add an attribute to the generated manifest file:
        attributes 'Main-Class': application.mainClassName
    }
}