добавить файл манифеста в банку с Gradle - PullRequest
0 голосов
/ 23 декабря 2018

Как добавить файлы манифеста в jar-файлы?

plugins {
        id 'java'
        id 'application'
}

application {
        mainClassName = 'com.Main'
}

jar {
        from "MANIFEST.MF"
}

sourceCompatibility = 11

когда я пытаюсь выполнить jar, я получаю следующее:

% java -jar tmpApp.jar
без атрибута основного манифеста, в tmpApp.jar

1 Ответ

0 голосов
/ 24 декабря 2018

Вот как вы можете сгенерировать соответствующий файл манифеста в задаче 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
    }
}
...