Как использовать толстую банку в качестве зависимости в проекте gradle - PullRequest
0 голосов
/ 29 января 2020

У меня есть два проекта. projectA & projectB, как показано ниже структура

projectA
         module1
         module2

projectB
         module3

Вариант использования: projectB имеет зависимость от module2. Так что планировалось сгенерировать jar (толстый jar с зависимостью времени выполнения), используя ниже config

 jar {
    from {
        configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

В projectB я импортировал module2, как показано ниже

dependencies {
    implementation fileTree(dir: 'lib', include: ['**/*.jar'])
}

Я мог видеть зависимость jar импортируется в зависимость проекта. Но при запуске проекта B получает

java .lang.ClassNotFoundException для всего класса, указанного в модуле 2.

Caused by: java.lang.ClassNotFoundException: testclass
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 1 more 
...