[英]Multiple entry points (main classes) inside jar's top level
值得一提的是,我使用 maven 作為我的構建管理工具。 我有一個 jar (我們稱之為dep.jar
)將作為依賴項包含在最終項目( final.jar
)中。 dep.jar
有一個 class 和 main 方法。 我需要在我的final.jar
的頂級目錄中有幾個入口點(帶有主要方法的類),以便我可以根據需要使用入口點。 包括來自dep.jar
的一個。
我考慮過:
META-INF/MANIFEST.MF
文件。 As Oracle stated that is not possible to reference main classes inside jar's dependencies ( BOOT-INF/lib
directory) -> https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html ;final.jar
的主要方法,由於項目限制,我不能這樣做。maven-dependency-plugin
但它可以解壓內部 jar ( dep.jar
) 並將類復制到BOOT-INF/classes
工作目錄target
,在打包階段將被打包到 BO 同樣,我不能從那里引用主要類。 如果我解壓縮並將它們復制到與target
不同的地方 - 復制的類將不會出現在我的final.jar
Is there any other plugin or option how to add classes from final.jar
dependant jar dep.jar
during JAR build to final.jar
's top level?
編輯: final.jar
項目如下所示:
final.jar
|_______BOOT-INF
|_______lib
| |_______dep.jar (contains main class I want to invoke)
|_______classes
|__________dir (directory I want to copy on demand with help of CLI)
我在這里找到了一個解決方案Spring Boot - How to specify an alternative start-class? (多個入口點) 。 啟動 jar 時最終使用-Dloader.main
屬性。 命令行如下所示: java -jar -Dloader.main=<main_class>./final.jar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.