如何无需构建Jar包通过CMD命令运行Spring Boot项目?
快速在CMD中运行Spring Boot项目(跳过Jar打包)
以下是几种可行的方案,实现类似IDE的快速启动体验:
1. 优化mvn spring-boot:run命令
默认情况下mvn spring-boot:run不会打包Jar,但如果你的项目配置触发了额外的生命周期阶段,可以通过参数跳过不必要的步骤:
mvn spring-boot:run -DskipTests -Dmaven.packaging.skip=true -Dmaven.javadoc.skip=true
-DskipTests:跳过单元测试-Dmaven.packaging.skip=true:跳过Jar打包过程-Dmaven.javadoc.skip=true:跳过Javadoc生成
2. 搭配Spring Boot DevTools实现热重载
添加DevTools依赖后,不仅启动速度会提升,修改代码还能自动重启项目,接近IDE的开发体验:
在pom.xml中加入依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency>
之后直接运行:
mvn spring-boot:run
DevTools会自动跳过冗余的构建步骤,并且支持类文件、配置文件的热替换。
3. 直接用Java命令运行编译后的类
先编译项目,再通过类路径直接启动主类:
# 第一步:编译项目 mvn compile # 第二步:生成依赖类路径文件 mvn dependency:build-classpath -Dmdep.outputFile=classpath.txt # 第三步:运行主类(替换成你的主类全限定名) java -cp "$(cat classpath.txt):target/classes" com.example.demo.DemoApplication
这种方式完全跳过打包环节,直接运行编译后的class文件。
4. 使用Maven Exec插件
在pom.xml中配置exec-maven-plugin,指定主类后直接运行:
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.1.0</version> <configuration> <!-- 替换成你的Spring Boot主类全限定名 --> <mainClass>com.example.demo.DemoApplication</mainClass> </configuration> </plugin> </plugins> </build>
配置完成后,在CMD中执行:
mvn exec:java
该插件会直接加载编译后的类和依赖启动项目,无需打包Jar。
内容的提问来源于stack exchange,提问作者mikenlanggio
相关产品推荐
相关产品推荐

