我正在研究一个多项目 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.gradlepipeline-jobs是根项目文件夹,现在我只有一个名为partition-by-users 的子项目。将来会增加更多的子项目。我想为所有这些子项目构建可运行的 jar。我在partition-by-users子项目下的build.gradle文件如下所示: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我无法找出这背后的根本原因。我在这里想念什么?我尝试过更改清单,attributes('Main-Class': partition-by-users.com.client.dataPipelineJobs.partitionByUsers.PartitionByUsers)但这没有帮助。更新: 我认为构建 fat-jar 存在一些问题。在没有依赖项的情况下构建 jar 可以解决问题,但是我可能已经找到了另一种准备 fat-jar 的方法。
添加回答
举报
0/150
提交
取消