springboot项目的打包问题(常用)

在java的日常开发中,离不开项目的打包,怎么将项目打包,并部署到服务器,这是每一个java程序猿都需要会的知识点,我根据自己的经验写这篇文章,希望可以帮助到有需要的人。

知识铺垫:在java项目中,可以将项目打包成war 和jar这二种不同的方式。

打包成war

关于war,这是一个比较远古的打包方式,有些人可以对它的映像不深刻,这种方式几乎已经淘汰了,现在用得比较少。

war主要是配和tomcat进行使用,将项目打包成war包,然后将打包好的war上传带Tomcat服务器上的WebApp,这样子这个服务就算部署成功了,后面就可以通过ip+端口号+项目名+请求路径访问请求了。这是一种古老的方式,所以本文就不做具体演示了

打包成jar包

这是我们日常开发中常用的方式,也是springboot项目的默认打包方式。通过这种方式打包的项目是可以运行的(因为这中打包方式会将Tomcat服务器打包进行)

经典实现:

<build>

<plugins>

复制代码
          <!--  Maven编译插件(maven-compiler-plugin)-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

<!-- Spring Boot插件编译插件(maven-compiler-plugin)-->

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<version>${spring-boot.version}</version>

<executions>

<execution>

<id>repackage</id>

<goals>

<goal>repackage</goal>

</goals>

</execution>

</executions>

</plugin>

</plugins>

</build>

一般项目打包会同时使用Maven编译插件和springboot插件对项目进行打包。

Maven编译插件(maven-compiler-plugin):

作用:用于编译Java源代码。

功能:将源代码编译成字节码文件,以便后续的打包和部署。

配置项:

源码版本(source):指定要编译的Java源代码版本。

字节码版本(target):指定生成的字节码文件的兼容Java版本。

编码(encoding):指定源代码的编码方式。
Spring Boot插件(spring-boot-maven-plugin):

作用:用于构建和打包Spring Boot应用程序。

功能:将Spring Boot应用程序打包成可执行的JAR或WAR文件,以便直接运行或部署到服务器。

配置项:

打包方式(repackage):指定打包的方式,即将应用程序及其依赖项打包成可执行的JAR或WAR文件。

通过配置这两个插件,可以方便地进行Java代码的编译和Spring Boot应用程序的打包。

Maven编译插件确保源代码正确地编译成字节码文件,而Spring Boot插件则将编译后的应用程序打包成可执行的JAR或WAR文件,方便部署和运行。

通常情况下,如果你只需要简单地编译Java代码并打包成可执行的JAR或WAR文件,只配置Spring Boot插件就足够了。Spring Boot插件内部也包含了编译功能,它会自动使用Maven默认的编译插件进行编译。因此,如果你只配置了Spring Boot插件而没有配置Maven编译插件,
Spring Boot插件会自动处理编译的工作。但是,如果你有特殊的编译需求或者需要更详细的编译配置,例如设置特定的编码方式、指定源码和字节码版本等,那么你可能需要配置Maven编译插件来满足这些需求。

打包时如何跳过测试类:

直接在idea那么maven打包上面的选项中有跳过测试的选项

**使用命令:**mvn package -Dmaven.test.skip=true

到这里,对于如何打包就介绍完了,如有什么不对的地方,欢迎指出

相关推荐
Penge66621 小时前
Redis-bgsave浅析
redis·后端
阿白的白日梦21 小时前
Windows下c/c++编译器MinGW-w64下载和安装
c语言·后端
小毅&Nora21 小时前
【后端】【C++】从裸指针到 C++20 协程:现代 C++ 内存与并发编程的双重革命
java·c++20
张np21 小时前
java基础-ArrayList
java·开发语言
Swizard21 小时前
别让 AI 假装在工作:Android "Vibe Coding" 的生存指南
android·java·vibe coding
Lear1 天前
【SpringBoot】 文件下载功能完整实现指南
后端
用户2345267009821 天前
Python中如何实现数据库连接池深度好文
后端
BBB努力学习程序设计1 天前
Java集合框架:管理数据的"超级工具箱"
java
用户2345267009821 天前
Python实现音频文件的分布式处理深度好文
后端
京东零售技术1 天前
NeurIPS 2025 | TANDEM:基于双层优化的数据配比学习方法
后端·算法