传统的Web应用进行打包部署,通常会打成war包形式,然后将War包部署到Tomcat等服务器中。
在Spring Boot项目在开发完成后,确实既支持打包成JAR文件也支持打包成WAR文件。然而,官方通常推荐将Spring Boot项目打包成JAR文件,这是因为Spring Boot内置了一个嵌入式的Tomcat服务器,使得应用能够作为一个独立的可执行JAR文件运行,无需部署到外部的Servlet容器中。
虽然Spring Boot也支持打包成WAR文件并部署到外部的Servlet容器中,但这种方式通常不是首选,因为它增加了额外的部署复杂性,并且可能无法充分利用Spring Boot提供的一些自动配置和简化功能。
1、插件完整配置
在pom.xml文件中添加配置
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version><!-- 配置中的版本号 --> <configuration> <source>1.8</source><!-- 设置源代码的JDK版本 --> <target>1.8</target><!-- 设置目标代码的JDK版本 --> <encoding>UTF-8</encoding><!-- 设置编码方式 --> </configuration> </plugin> <!--maven 打包插件--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <configuration> <mainClass>com.example.demo.DemoApplication</mainClass><!-- 配置启动类 --> <skip>false</skip><!--是否忽略启动类--> </configuration> <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
maven-compiler-plugin是Maven的一个插件,主要用于代码编译,并提供了很多可配置的选项来优化编译过程。主要作用:
- 指定JDK版本:可以明确指定项目源代码所使用的JDK版本,以及编译后的类库拟运行的JVM版本,从而确保项目在不同环境中的一致性和稳定性。
- 设置编码方式:允许设置源代码和目标代码的编码方式,以防止因编码不一致而导致的编译错误或乱码问题。
- 优化编译过程:可以对编译过程进行细粒度的控制。例如,可以设置是否使用增量编译、是否生成调试信息等,以提高编译效率和代码质量。
spring-boot-maven-plugin是一个用于Spring Boot项目的Maven插件,它在项目的构建和打包过程中发挥着关键作用。主要作用:
打包可执行JAR/WAR文件:该插件可以将Spring Boot应用程序打包成一个可执行的JAR或WAR文件。
指定执行类:该插件可以指定要执行的类,如果未指定也能够自动检测项目中的main函数,并启动Spring
Boot容器。
2、使用IDEA开发工具打包
打开maven窗口,在Lifecycle列中,双击package打包项目
Idea控制台显示打包成功
Idea项目target目录生成Jar包
3、Jar 包方式部署
打开jar文件所在目录,然后打开powerShell,执行命令行:
java -jar .\qvtu-web04-0.0.1-SNAPSHOT.jar