Как использовать Launch4J с обфусцированной банкой в ​​Gradle

Я пытаюсь создать исполняемый файл с Launch4J с моим запутанным jar, но у меня есть проблема. Каждый раз, когда я запускаю createEXE задание через Gradle, также запускается задание shadowJar, в результате чего мой запутанный сосуд перезаписывается.

Как я могу использовать свою запутанную банку с Launch4J's createExe задача? Иначе как мне остановиться shadowJar от бега во время исполнения createExe?

Вот моя задача Launch4J:

launch4j {
    jar = "${projectDir}/build/libs/plugin.jar"
    outfile = 'Plugin.exe'
    icon = "${projectDir}/etc/icon.ico"
    mainClassName = 'plugin.Driver'
    bundledJrePath = './jre'
    jreMinVersion = '1.8.0_161'
    jdkPreference = 'preferJdk'
}

1 ответ

Решение

Вы должны просто игнорировать shadowJar задача с использованием -x вариант. Он говорит Gradle, чтобы пропустить указанное задание.

gradle -x shadowJar createExe

Вы также можете сделать это постоянно:

gradle.taskGraph.whenReady { taskGraph ->
    if (taskGraph.hasTask(createExe)) {
        shadowJar.enabled = false
    }
}
Другие вопросы по тегам