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

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

相关推荐
w23617346014 分钟前
Tomcat:从零理解Java Web应用的“心脏”
java·前端·tomcat
yuren_xia10 分钟前
示例:Spring JDBC编程式事务
java·后端·spring
uhakadotcom15 分钟前
企业智能体网络(Agent Mesh)入门指南:基础知识与实用示例
后端·面试·github
用户6133467165317 分钟前
开发体育赛事直播系统:用户管理机制与内容审核技术实现方案
后端
陈大大陈25 分钟前
基于 C++ 的用户认证系统开发:从注册登录到Redis 缓存优化
java·linux·开发语言·数据结构·c++·算法·缓存
纪元A梦27 分钟前
华为OD机试真题——通过软盘拷贝文件(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
java·javascript·c++·python·华为od·go·华为od机试题
络737 分钟前
IDEA导入并启动若依项目步骤(SpringBoot+Vue3)
java·spring boot·mysql·vue·intellij-idea
几颗流星38 分钟前
SpringBoot项目集成达梦数据库
java·后端
masx20040 分钟前
升级uptime-kuma版本2.0.0-beta.2的cloudflared版本到2025.4.0
运维·后端
帆仔哟1 小时前
【农气项目】基于适宜度的产量预报
java