首页 > 解决方案 > 如何运行具有两个主要 @SpringBootApplication 文件的项目,而无需对项目的代码库进行任何更改?

问题描述

我想使用命令“mvn spring-boot:run”,但我想将它与一些参数或一些允许我只使用 DemoApplication.java 并运行项目而没有任何错误的东西一起使用。警告不是问题。

我无法删除名为 SecureAppApplication 的其他 @SpringBootApplication 注释文件,也无法更改其内容。(由要求不合理的严格教授提供)

这是执行命令后的相关错误消息: mvn spring-boot:run

[ERROR] Failed to execute goal org.springframework.boot:spring-boot- 
maven-plugin:2.1.8.RELEASE:run (default-cli) on project myproject: 
Execution default-cli of goal org.springframework.boot:spring-boot- 
maven-plugin:2.1.8.RELEASE:run failed: Unable to find a single main 
class from the following candidates  
[com.example1.example1.DemoApplication, 
com.example1.example1.secureapp.SecureAppApplication] 

这是 DemoApplication 文件代码:

package com.example1.example1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
    System.out.println("System is working!");
}
}

这是 SecureAppApplication.java 文件代码:

package com.example1.example1.secureapp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@SpringBootApplication
public class SecureAppApplication {
public static void main(String[] args) {
    SpringApplication.run(SecureAppApplication.class, args);
}
}

标签: springmavenspring-boot

解决方案


从命令行,您可以指定要执行的主类

mvn spring-boot:run -Dstart-class=com.your.package.application.BookApplication


推荐阅读