Gradle - Включить внешние проекты в качестве зависимостей в .jar - PullRequest
0 голосов
/ 27 марта 2019

У меня есть два проекта как зависимости : A, B. ( НЕ SUB-проекты , но ВНЕШНИЕ проекты )

Мой третий проект C, зависит от A и B.

Я уже определил settings.gradle следующим образом:

settings.gradle

rootProject.name = 'project_C'
include ':common_library'
project(":project_A").projectDir = file("../project_A")
include ':project_A'
project(":project_B").projectDir = file("../project_B")

build.gradle

// ************** Include dependencies as local .jars
    implementation fileTree(include: ['*.jar'], dir: 'lib')


    // ************** Compile the project on which this depends on
    implementation project(':project_A')
    implementation project(':project_B')


    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'
}


// *********** MODIFY the standard JAR task, including Main file (for executable jars) and pack all it's dependencies
jar {
    from {
        (configurations.runtime).collect {
            configurations.runtime.filter( {! (it.name =~ /.*\.pom/ )}).collect {
                it.isDirectory() ? it : zipTree(it)
            }
        }
    }
    manifest {
        attributes "Main-Class": "Main"
    }
}

На данный момент он строит с успехом .

Но когда я пытаюсь выполнить его как jar, он выдает мне ошибки о "не включенных зависимостях" , связанных с project_A и project_B .

Кто-то, кто уже столкнулся с этой проблемой? Спасибо!

1 Ответ

0 голосов
/ 01 апреля 2019

Это может быть полезно, поскольку объясняет создание толстой банки, которая включает зависимую банку.https://www.baeldung.com/gradle-fat-jar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...