SpringBoot使用Maven插件进行项目打包的方法

 更新时间:2020年11月05日 14:14:30   作者:削个橘子皮  
这篇文章主要介绍了SpringBoot使用Maven插件进行项目打包的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

SpringBoot自带Tomcat,所以我们的项目可以单独部署,不需要依赖Window、Linux系统中的服务器,所以打包出来的Jar包是可以直接运行的。Windows中直接cmd命令行模式下,cd切换到jar路径中,使用java 命令运行jart包,Linux环境也是一样的命令,如下图:

现在我们开始打包,我介绍两种方式,不管那种方式首先先在项目Pom.xml文件中引入Maven插件。

<build>
  <plugins>
   <!-- 设置jdk版本为1.8 -->
   <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <configuration>
      <source>1.8</source>
      <target>1.8</target>
      <compilerArguments>
        <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
      </compilerArguments>
     </configuration>
   </plugin>
   <plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
     <configuration>
      <fork>true</fork>
      <outputDirectory>${project.build.directory}/${project.name}</outputDirectory>
      <addResources>false</addResources>
      <includeSystemScope>true</includeSystemScope>
     </configuration>
   </plugin>

   <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <executions>
      <execution>
        <id>copy-resources</id>
        <phase>package</phase>
        <goals>
         <goal>copy-resources</goal>
        </goals>
        <configuration>
         <encoding>UTF-8</encoding>
         <outputDirectory>
           ${project.build.directory}/${project.name}
         </outputDirectory>  <!-- 表示把配置文件拷到和jar包同一个路径下 -->
         <resources>
           <resource>
            <directory>src/main/resources/</directory>
           </resource>
         </resources>
        </configuration>
      </execution>
      <execution>
        <id>copy-resources-classes</id>
        <phase>package</phase>
        <goals>
         <goal>copy-resources</goal>
        </goals>
        <configuration>
         <encoding>UTF-8</encoding>
         <outputDirectory>
           ${project.build.directory}/classes
         </outputDirectory>  <!-- 表示把配置文件拷到和jar包同一个路径下 -->
         <resources>
           <resource>
            <directory>src/main/resources/</directory>
           </resource>
         </resources>
        </configuration>
      </execution>
     </executions>
   </plugin>
  </plugins>
</build>

<compilerArguments> <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath> </compilerArguments>

如果是在Windows下面开发,${java.home}/lib/rt.jar ; ${java.home,这里中间是;号隔开,Linux中则是:号隔开,这是个很坑的地方我提一下。

第一种是IDEA 带的打包方式,快捷键Ctry+Alt+Shift+S同时按会出现下图页面

点击 + 号!!!

首先这里有几个注意的地方,MainClass选择启动类,JarFiles选择第二个,.MF文件位置请选项目的根目录位置,也就是Src的上一级目录,然后点OK,确定,然后在build。

这样就打包成功了,不过一堆jar包在你的项目classic路径下,在部署的时候必须把所有的jar放在同一个文件夹下,这是这种打包方式的缺点。

现在说第二种方式,很简单,我推荐这种方式,而且能生成单独一个Jar包,不像第一种方式生成了一堆Jar。

配置好Pom.xml之后,一定要是Jdk1.8。

在IDEA的右上角,有个Maven Project。

先点Clean,然后点package然后项目目录多了个target文件夹,里面就生成了你要的jar包了,现在就可以去部署在服务器啦。

到此这篇关于SpringBoot使用Maven插件进行项目打包的方法的文章就介绍到这了,更多相关SpringBoot Maven打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot+Vue.js实现前后端分离的文件上传功能

    SpringBoot+Vue.js实现前后端分离的文件上传功能

    这篇文章主要介绍了SpringBoot+Vue.js实现前后端分离的文件上传功能,需要的朋友可以参考下
    2018-06-06
  • SpringBoot源码 PropertySource解析

    SpringBoot源码 PropertySource解析

    PropertySource是spring中对于键值属性的一种抽象,主要是name和sourcePropertyResolver是对PropertySource提供对外的统一数据处理,对于占位符的处理委托于PropertyPlaceholderHelper,对Springboot 源码 PropertySource相关知识感兴趣的朋友一起看看吧
    2023-01-01
  • 详解Java如何利用数字描述更多的信息

    详解Java如何利用数字描述更多的信息

    在数据库里面 ,通常我们会用数字的递进来描述状态等信息 , 但是如果想进行更复杂的操作 , 就有必要对二进制有一定理解了。本文就来趣味性的探讨一下 , 如何通过更少的空间描述更多的信息
    2022-09-09
  • Java超详细讲解三大特性之一的多态

    Java超详细讲解三大特性之一的多态

    多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定
    2022-05-05
  • springboot配置druid多数据源的示例代码

    springboot配置druid多数据源的示例代码

    这篇文章主要介绍了springboot配置druid多数据源的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Java实现贪吃蛇大作战小游戏的示例代码

    Java实现贪吃蛇大作战小游戏的示例代码

    本文主要介绍了Java实现贪吃蛇大作战小游戏的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • JAVA socket.io注解原理及用法图解

    JAVA socket.io注解原理及用法图解

    这篇文章主要介绍了JAVA socket.io注解原理及用法图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Java多线程用法的实例详解

    Java多线程用法的实例详解

    这篇文章主要介绍了Java多线程用法的实例详解的相关资料,希望通过本文大家能够理解掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • SpringBoot实现钉钉机器人消息推送的示例代码

    SpringBoot实现钉钉机器人消息推送的示例代码

    这篇文章主要介绍了SpringBoot实现钉钉机器人消息推送的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java编程实现的二维数组转置功能示例

    Java编程实现的二维数组转置功能示例

    这篇文章主要介绍了Java编程实现的二维数组转置功能,结合实例形式分析了Java二维数组的遍历、运算、赋值等实现转置的相关操作技巧,需要的朋友可以参考下
    2018-01-01

最新评论