亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在多項目 gradle 設置中引用子項目的主類

在多項目 gradle 設置中引用子項目的主類

夢里花落0921 2022-10-12 15:29:14
我正在研究一個多項目 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 的方法。
查看完整描述

1 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

我在這個SO 線程中找到了答案。誰碰到此頁面,請查看@blootsvoets 在上一個鏈接中提供的答案。

基本思想是在 jar 和 fatJar 任務中使用相同的清單。


查看完整回答
反對 回復 2022-10-12
  • 1 回答
  • 0 關注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號