如何 运行 spring 使用多个 main 类 引导项目

How to run spring boot project with multiple main classes

我有一个 spring 引导项目,其中包含 3 个主要的 classes

com.abc.test --> Application
com.abc.test.pqr  --> ApplicationMain2
com.abc.test.xyz  --> ApplicationMain3

现在 spring 引导项目无法构建,所以我将 POM 条目指定为

<properties>
        <start-class>com.abc.test.Application</start-class>
</properties>

从 eclipse 我能够 运行 所有 3 Main 成功并创建一个 jar。 但是每当我尝试 运行 jar 与命令它的 运行ning 应用程序 class.

java -jar -Dloader.main=com.abc.test.pqr.ApplicationMain2 test-1.0.jar

使用以下命令给出错误 class not found

java -cp test-1.0.jar -Dloader.main=com.abc.test.pqr.ApplicationMain2 
java -cp -Dloader.main=com.abc.test.pqr.ApplicationMain2 test-1.0.jar com.abc.test.pqr.ApplicationMain2
java -classpath test-1.0.jar com.abc.test.pqr.ApplicationMain2

非常感谢 Ashish 我以前 运行 使用的命令是

java -cp test-1.0.jar -Dloader.main=com.abc.test.pqr.ApplicationMain2 

问题是我们没有包括 PropertiesLauncher。 除了 class 我们还需要明确给出 属性 启动器的路径。所以正确的命令如下

java -cp test-1.0.jar -Dloader.main=com.abc.test.pqr.ApplicationMain2 org.springframework.boot.loader.PropertiesLauncher