Я работаю над многопроектной настройкой gradle, где структура выглядит следующим образом:
pipeline-jobs // root folder
|-gradle.properties
|-settings.gradle
|-build.gradle
|
|-partition-by-users // sub-project
|-com.client.dataPipelineJobs.partitionByUsers
|-PartitionByUsers.java // has the main() method
|-build.gradle
pipe-jobs - корневая папка проекта, и на данный момент я 'Мы имеем только один подпроект под названием Разделение по пользователям .В будущем будет добавлено еще много подпроектов.Я хочу создать работающие фляги для всех этих подпроектов.Мой build.gradle файл в подпроекте partition-by-users выглядит следующим образом:
jar {
zip64 = true
manifest {
attributes('Main-Class': 'com.client.dataPipelineJobs.partitionByUsers.PartitionByUsers')
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
Теперь из корневого каталога проекта, если я выполню gradle jar
команда и затем запустить файл JAR, он выдает следующую ошибку:
Не удалось найти или загрузить основной класс com.client.dataPipelineJobs.partitionByUsers.PartitionByUsers
IЯ не могу выяснить причину этого.Что мне здесь не хватает?Я попытался изменить манифест с помощью attributes('Main-Class': partition-by-users.com.client.dataPipelineJobs.partitionByUsers.PartitionByUsers)
, но это не помогло.
Обновление: Я думаю, что есть некоторая проблема с созданием фляги.Построение фляги без зависимостей решит проблему, но, возможно, я найду другой способ приготовления фаст-фара.