如何通过Gradle Builder将项目导出为lib的JAR文件?

时间:2018-09-04 05:02:40

标签: java eclipse gradle gradle-eclipse

我是Gradle的新手,我只有一个项目。

现在,我想配置gradle为我导出一个JAR文件(因为bash shell可以调用lib,不需要可运行的jar)

我的gradle构建文件如下所示:

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'java-library'

version = '1.0'

tasks.withType(JavaCompile) {
    options.compilerArgs << '-Xlint:unchecked'
    options.deprecation = true
}

jar {
    manifest {
        attributes 'Implementation-Title': 'XXX',
                   'Implementation-Version': version
    }
}

repositories {
    mavenCentral()
}

dependencies {

    compile('org.apache.commons:commons-lang3:3.7')

    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
    // https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'

    // https://mvnrepository.com/artifact/org.apache.commons/commons-csv
    compile group: 'org.apache.commons', name: 'commons-csv', version: '1.5'

    compile group: 'org.postgresql', name: 'postgresql', version: '42.2.2'

    runtime('org.postgresql:postgresql')
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}

但是当我运行构建文件时,它给了我一个没有详细信息的错误。

  

任务':compileJava'的执行失败

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

已解决!

对于任何有相同问题的人。

我添加了如下配置Gradle编译器编码,并且可以正常工作。

eclipseJdt << {
    ant.propertyfile(file: ".settings/org.eclipse.core.resources.prefs") {
        ant.entry(key: "eclipse.preferences.version", value: "1")
        ant.entry(key: "encoding/<project>", value: "utf-8")
    }
}

compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"