【问题标题】:Gradle compile project manifest emptyGradle 编译项目清单为空
【发布时间】:2014-09-15 20:36:45
【问题描述】:

我的 build.gradle 有问题,它可以编译,但是当我尝试执行 .jar 时,控制台给了我这个:“没有清单清单属性...”

这是我的 bluid.gradle:

apply plugin: 'java'
group = "com.xxx.xxx.xxx"
archivesBaseName = "xxx"
version = "0.1"

task pack(type: Jar, dependsOn: 'jar') {

   inputs.files jar.archivePath;

   jar {
    baseName = 'xxxx'
    version =  '0.1'
   }

   manifest {
    attributes(
        "Manifest-Version"       : "1.0",
            "Main-Class"             : "com.xxx.xxx.xxx.xxx"
        )
   }

   doLast {
     manifest.writeTo("${buildDir}/MANIFEST.MF")
     project.ant {
       taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", classpath: configurations.tools.asPath
       jarjar(jarfile: archivePath, manifest: "${buildDir}/MANIFEST.MF") {
     fileset(dir : "${buildDir}/classes")
     fileset(dir : "${buildDir}/resources/main")

     configurations.runtime.files.each { jarjarFile ->
       zipfileset(src: jarjarFile) {
         // WARNING: MUST keep META-INF/DgmInfo, META-INF/services, ...  which are needed by Groovy
       }
     }

     rule pattern: "*", result: "@0"
       }
   }
}


configurations {
    tools
}

dependencies {
    tools files("${rootDir}/tools/jarjar-1.4.jar")
    compile files("${rootDir}/lib/bluecove-2.1.0.jar")
    compile files("${rootDir}/lib/bluecove-gpl-2.1.0.jar")
}

}

我不编写整个代码,我真的不知道编写 gradle 脚本, 有人帮忙吗? :)

【问题讨论】:

    标签: java build compilation gradle


    【解决方案1】:

    这部分我明白了:
    "Main-Class" : "com.xxx.xxx.xxx.xxx"
    实际上是指向一个有效的 Java 类,该类内部有一个 main 方法,并且该类在您的类路径上?

    如果是,解压缩你的输出 jar,找到 META-INF 文件夹并检查 MANIFEST.MF 里面的内容并告诉我们。

    【讨论】:

    • 路径是src/main/java/package/package/Xxx.java,所以我觉得不错,但是我不太确定:(
    • 好的,所以假设你给出的值是正确的并且没有被你混淆,因为你是代码害羞,你的 build.gradle 文件中的值应该是: "Main-Class" : "package.package.xxx"
    • 顺便看看这个教程:petrikainulainen.net/programming/gradle/…
    猜你喜欢
    • 2016-08-05
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 2021-10-27
    相关资源
    最近更新 更多