Как включить зависимость времени выполнения в jar, сгенерированный из задачи gradle jar - PullRequest
0 голосов
/ 06 февраля 2019

Я создаю толстый jar с использованием gradle, build.gradle выглядит следующим образом:

...
dependencies {  

    compile files('local_path1')
    compile files('local_path2')  
    runtime files('local_path3')
}

task customFatJar(type: Jar) {
    manifest {
        attributes 'Main-Class': 'MyMainClass'
    }
    archiveName = 'my-jar'
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

Теперь, когда я запускаю задачу «customFatJar», сгенерированный jar содержит зависимые jar-файлы в путях «local_path1»и "local_path2".Но сгенерированный jar не содержит зависимого jar в пути "local_path3".

Пожалуйста, дайте мне знать правильную конфигурацию зависимостей для достижения этого.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Вы должны взглянуть на документацию по конфигурациям, созданным плагином Java , и по тому, как они связаны друг с другом.

Чтобы не пропустить ни одного времени выполнения зависимость в вашей толстой банке, вы должны положиться на конфигурацию runtimeClasspath:

from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
0 голосов
/ 06 февраля 2019

Поскольку вы определили local_path3 как runtime, вам также необходимо добавить их в скрипт.В настоящее время он просто собирает все runtime библиотеки.Это может выглядеть так:

from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...