[英]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.