如何在Gradle中通过命令行参数指定主类运行Spring Boot应用
为Spring Boot Gradle项目指定第二个主类运行的几种方法
方法1:直接通过命令行参数临时指定主类(无需修改build.gradle)
使用Spring Boot内置参数--spring.main.main-class,直接在bootRun命令中通过--args传递,适合临时切换主类:
./gradlew bootRun --args='--spring.main.main-class=com.example.MySecondApplication'
方法2:通过Gradle项目属性覆盖默认主类(需少量修改build.gradle)
修改你的build.gradle,让mainClassName支持通过项目属性覆盖,兼顾默认配置和灵活切换:
apply plugin: 'application' apply plugin: 'org.springframework.boot' // 优先使用命令行传入的mainClass属性,默认使用原主类 mainClassName = project.findProperty('mainClass') ?: 'com.example.MyApplication'
之后运行时,通过-P参数指定目标主类:
./gradlew bootRun -PmainClass=com.example.MySecondApplication
方法3:创建独立的Gradle任务(适合频繁运行第二个主类)
如果需要频繁启动第二个主类,可以在build.gradle中新增专门任务:
apply plugin: 'application' apply plugin: 'org.springframework.boot' mainClassName = 'com.example.MyApplication' // 新增运行第二个主类的任务 task bootRunSecond(type: org.springframework.boot.gradle.tasks.run.BootRun) { mainClass = 'com.example.MySecondApplication' // 复用主源码集的类路径 classpath = sourceSets.main.runtimeClasspath }
之后直接运行该任务即可:
./gradlew bootRunSecond
内容的提问来源于stack exchange,提问作者Igorock
相关产品推荐
相关产品推荐

