Spring Boot 项目 Maven 配置
在配置基于Maven的Spring Boot项目的过程中,打包运行出现了一系列错误。
比如: mvn 中没有主清单属性、java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplicatio等等
其原因主要在于
1.需要使用 spring-boot-maven-plugin 组件进行打包;
2.选定 spring-boot-starter-parent 依赖 Spring Boot 版本后,其余插件尽量不要手动指定版本号,以免造成兼容性问题;
3.如果Maven打包发现指定的依赖和运行的Java版本不对应,应手动在配置文件中指定Java版本;
4.尽量将主类放到<groupId>org.htsg</groupId>加<artifactId>test01</artifactId>组成的路径下:org.htsg.test01.App.java
综上,我们的一个可以正确使用Maven进行打包的简单pom.xml文件如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>org.htsg</groupId> 8 <artifactId>test01</artifactId> 9 <version>1.0-SNAPSHOT</version> 10 <!--添加spring-boot-starter-parent作为父级依赖--> 11 <parent> 12 <groupId>org.springframework.boot</groupId> 13 <artifactId>spring-boot-starter-parent</artifactId> 14 <version>2.1.9.RELEASE</version> 15 </parent> 16 17 <dependencies> 18 <dependency> 19 <!--添加spring-boot-starter-web作为Web项目依赖--> 20 <groupId>org.springframework.boot</groupId> 21 <artifactId>spring-boot-starter-web</artifactId> 22 </dependency> 23 </dependencies> 24 25 <build> 26 <plugins> 27 <plugin> 28 <groupId>org.springframework.boot</groupId> 29 <artifactId>spring-boot-maven-plugin</artifactId> 30 </plugin> 31 </plugins> 32 </build> 33 </project>
其中包含了Web项目的基础配置不是必须的。