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

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

相关推荐
Hello World......15 分钟前
Java求职面试揭秘:从Spring到微服务的技术挑战
大数据·hadoop·spring boot·微服务·spark·java面试·互联网大厂
Hello World......20 分钟前
互联网大厂Java面试:从Spring到微服务的全面探讨
java·spring boot·spring cloud·微服务·面试·技术栈·互联网大厂
拾贰_C1 小时前
【SpringBoot】MyBatisPlus(MP | 分页查询操作
java·spring boot·后端·spring·maven·apache·intellij-idea
猛踹瘸子那条好腿の1 小时前
Spring-boot初次使用
java·springboot
我不是程序猿儿3 小时前
【C#】 lock 关键字
java·开发语言·c#
Uranus^4 小时前
深入解析Spring Boot与JUnit 5的集成测试实践
spring boot·单元测试·集成测试·junit 5·mockito
tmacfrank4 小时前
网络编程中的直接内存与零拷贝
java·linux·网络
weixin_472339465 小时前
Maven 下载安装与配置教程
java·maven
Magnum Lehar6 小时前
3d游戏引擎EngineTest的系统实现3
java·开发语言·游戏引擎
就叫飞六吧6 小时前
Spring Security 集成指南:避免 CORS 跨域问题
java·后端·spring