如何将IntelliJ IDEA的Spring Boot运行配置转为MacOS命令行执行命令
将IntelliJ IDEA Spring Boot运行配置转为MacOS命令行执行命令
问题背景
我有一个可正常运行的IntelliJ IDEA Spring Boot运行配置,希望在MacOS命令行中执行相同的运行任务。已提供项目的build.gradle配置、.idea/workspace.xml中对应的运行配置片段,以及使用的IntelliJ IDEA版本(2021.3.2 Ultimate Edition),需要将这些配置转换为外部可执行的命令或脚本。
项目配置信息
build.gradle文件
plugins { id 'org.springframework.boot' version '2.6.4' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'org.mountsinai' version = '0.0.1-SNAPSHOT' sourceCompatibility = "15" repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jdbc' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc' implementation group: 'org.springframework', name: 'spring-aspects', version: '5.3.15' implementation group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect', version: '3.0.0' implementation group: 'com.jayway.jsonpath', name: 'json-path', version: '2.7.0' implementation group: 'com.github.pcj', name: 'google-options', version: '1.0.0' implementation 'com.google.code.gson:gson:2.9.0' } tasks.named('test') { useJUnitPlatform() minHeapSize = "1024m" // initial heap size maxHeapSize = "2048m" // maximum heap size } targetCompatibility = JavaVersion.VERSION_15
workspace.xml中的运行配置片段
<configuration name="IrwMetadataIntegrationApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> <module name="org.mountsinai.IRWMetadataIntegration.main" /> <option name="SPRING_BOOT_MAIN_CLASS" value="org.mountsinai.IRWMetadataIntegration.IrwMetadataIntegrationApplication" /> <option name="PROGRAM_PARAMETERS" value="--algorithm=batch --numOfStudiesToRetrieve=600" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> <option name="ALTERNATIVE_JRE_PATH" value="15" /> <method v="2"> <option name="Make" enabled="true" /> </method> </configuration>
解决方法
方法一:让IntelliJ IDEA直接输出执行命令
- 在IDEA中启动你的Spring Boot运行配置,等待程序正常启动
- 打开底部的Run控制台面板
- 在控制台输出的最顶部,复制完整的Java执行命令(格式类似
/Library/Java/JavaVirtualMachines/jdk-15.jdk/Contents/Home/bin/java -cp ... org.mountsinai.IRWMetadataIntegration.IrwMetadataIntegrationApplication --algorithm=batch --numOfStudiesToRetrieve=600) - 将复制的命令直接粘贴到Mac终端执行即可,这就是IDEA实际运行时调用的完整命令
方法二:手动构建Gradle命令执行
因为项目使用Spring Boot Gradle插件,推荐用bootRun任务来实现和IDEA一致的运行效果:
直接启动项目
在项目根目录执行以下命令:
# 指定JDK15并传递程序参数 ./gradlew bootRun --args="--algorithm=batch --numOfStudiesToRetrieve=600" -Dorg.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-15.jdk/Contents/Home
各参数说明:
./gradlew bootRun:调用Gradle的Spring Boot启动任务,默认会先执行编译等前置步骤(对应IDEA配置中的Make操作)--args="...":传递程序启动参数,对应workspace.xml里的PROGRAM_PARAMETERS-Dorg.gradle.java.home=...:指定Gradle使用JDK15运行,对应配置中的ALTERNATIVE_JRE_PATH
构建Jar包后运行
如果需要打包成Jar文件离线运行:
- 先构建Jar包
./gradlew bootJar
- 构建完成后,在
build/libs目录下找到生成的Jar文件,执行:
# 用JDK15运行Jar并传递参数 /Library/Java/JavaVirtualMachines/jdk-15.jdk/Contents/Home/bin/java -jar build/libs/IRWMetadataIntegration-0.0.1-SNAPSHOT.jar --algorithm=batch --numOfStudiesToRetrieve=600
内容的提问来源于stack exchange,提问作者Arthur
相关产品推荐
相关产品推荐

