Как экспортировать проект в JAR-файл как lib от Gradle Builder? - PullRequest
0 голосов
/ 04 сентября 2018

Я новичок в Gradle, у меня есть один проект.

Теперь я хочу настроить gradle, чтобы экспортировать для меня JAR-файл (поскольку lib может быть вызвана оболочкой bash, нет необходимости запускать 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 голосов
/ 04 сентября 2018

РЕШИТЬ!

Для тех, у кого есть такая же проблема.

Я добавляю конфигурацию кодировки компилятора 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"
...