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打包内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot+Maven 多模块项目的构建、运行、打包实战

    本篇文章主要介绍了SpringBoot+Maven 多模块项目的构建.运行.打包,分享给大家,具体如下: 项目使用的工具: IntelliJ IDEA JDK 1.8 apache-maven-3.3.9 项目的目录: 主项目 springboot-multi 子模块 entity.dao.service.web 一.使用IDEA创建一个SpringBoot项目 : File -> new -> Project 项目名称为springboot-multi 二.删除项目中的src目录,把pom.

  • SpringBoot使用Maven打包异常-引入外部jar的问题及解决方案

    由于项目需要,在需要打包的时候,由于引入的外部jar在本地是可以使用的,但是当打包后启动时报错,找不到对应的类. 使用 1.引入外部jar包 项目中简历文件夹lib 可以在resultces包下简历一个lib文件夹,将jar包扔进去: 在配置文件中引用 <dependency> <groupId>com.xx.xxx</groupId> //组织,随便命名 <artifactId>***</artifactId> //包的名字,随便命名 <

  • Springboot基于maven打包分离lib及resource

    之前在部署Spring Boot项目时,经常因为只修改了一小处代码.或者只更新了某个jar包,但是却需要将整个项目重新打包.上传.部署,整个包一般都会达到40-60M,每次都重复这个操作真的很耗费时间,因此就想是否能够将依赖lib与项目代码分离出来,每次部署只需要发布代码即可. 项目发版,为了应对更新多变的依赖jar包,实现增量或替换依赖jar包,越来越多的企业实现源代码和依赖jar包和依赖配置分离,更好的应对复杂多变的现场和生产环境,使用maven打包配置如下: <build> <pl

  • springboot maven 项目打包jar 最后名称自定义的教程

    maven 文件打包,输入 :package -Dmaven.test.skip=true 进行打包, 一般生成的jar 文件 名称是项目名+版本号这样的 如何在pom.xml 中加入finalname 属性,就可以获得稳定的jar 名称 <build> <finalName>pay</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId

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

    SpringBoot自带Tomcat,所以我们的项目可以单独部署,不需要依赖Window.Linux系统中的服务器,所以打包出来的Jar包是可以直接运行的.Windows中直接cmd命令行模式下,cd切换到jar路径中,使用java 命令运行jart包,Linux环境也是一样的命令,如下图: 现在我们开始打包,我介绍两种方式,不管那种方式首先先在项目Pom.xml文件中引入Maven插件. <build> <plugins> <!-- 设置jdk版本为1.8 --> &

  • springboot实现maven多模块和打包部署

    目录 创建多模块项目 依赖关系 开发工具 :idea 工程结构: 父工程father 子模块 dao (用于持久化数据跟数据库交互) 子模块 entity (实体类) 子模块 service (处理业务逻辑) 子模块 web (页面交互接收.传递数据,唯一有启动类的模块) 关系: web依赖 service.dao.entity service依赖 dao.entity dao依赖 entity entity谁都不依赖,独立的 创建多模块项目 new ------file-------proje

  • SpringBoot实现动态配置及项目打包部署上线功能

    目录 写在前面 一.动态配置文件 1.1.概述 1.2.启动方式 1.2.1.jar包启动 1.2.2.IDEA启动配置 二.项目打包 2.1.IDEA打包 2.2.Maven命令打包 三.项目部署 3.1.安装环境 3.2.项目启动 3.3.最终效果 写在前面 本文讲解的是如何使用Spring动态配置文件,实现不同环境不同配置,灵活切换配置文件:以及讲述了如何使用 Maven 打包,然后上传至Linux服务器进行部署.(PS:如果你是新手,可以跟着系列专栏的框架搭建先动手把项目搭建起来,然后在

  • springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)

    创建之前项目之前 记得改一下 maven  提高下载Pom速度 记得 setting 中要改 maven  改成 阿里云的.具体方法 网上查第一步 搭建parents 项目,为maven项目 ,不为springboot 项目 记得修改groupId 第二步 搭建多个子模块, honor-dao   honor-manager   honor-common记得创建 honor-manager 的时候 要把他的gruopId 改成com.honor.manager 这里爆红的原因是 因为 我做到后面

  • maven 使用assembly 进行打包的方法

    1. pom 中添加assembly 插件 要使用assembly 进项编译打包, 首先主要在pom 中的build中添加插件信息, 具体如图下所示: <build> <finalName>${project.artifactId}</finalName> <sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <director

  • 浅谈使用Maven插件构建Docker镜像的方法

    本文介绍了使用Maven插件构建Docker镜像的方法,分享给大家,具体如下: 工具 工欲善其事,必先利其器.笔者经过调研,有以下几款Docker的Maven插件进入笔者视野: 插件名称 官方地址 docker-maven-plugin https://github.com/spotify/docker-maven-plugin docker-maven-plugin https://github.com/fabric8io/docker-maven-plugin docker-maven-pl

  • springboot结合mybatis-plus快速生成项目模板的方法

    目录 mybatis-plus简介: 项目模板 1.项目概览 2.美化swagger-ui mybatis-plus简介: Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发.提高效率而生.这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网.那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA. 项目

  • SpringBoot创建maven多模块项目实战代码

    工作中一直都是一个人奋战一人一个项目,使用maven管理,看这个也挺好,但是总感觉没有充分发挥maven的功能,于是研究了一下这个,网上关于这个的文章很多,虽然不是很好,但我从中收获了很多,在这集百家所长,写一份实战记录,大家跟着我一块做吧! 声明:构建多模块不是最难的,难点是如果把多模块打包成一个执行jar. SpringBoot官方推崇的是富jar,也就是jar文件启动项目,所以如果在这里打war包我不具体介绍,如果需要的朋友可以给我留言,我回复. 建议clone项目后,在看教程(有不足的地

  • Spring boot项目打包成jar运行的二种方法

    前言 最近公司有个项目需要移植到SpringBoot框架上,项目里面又有许多第三方jar包,在linux服务器上最方便的就是用jar的方式来运行SpringBoot项目了,因此我研究了2种打jar包的方式,记录如下,供大家参考: 1.通过maven插件,将所有依赖包都打包成一个jar包,然后通过java -jar xxx.jar方式运行 由于项目中有些jar包是第三方的,maven官方仓库没有,需要使用mvn install命令打包到本地,然后将其写入到pom.xml的依赖中,maven仓库有的

  • 在CentOS7上搭建Jenkins+Maven+Git持续集成环境的方法

    本文以部署 Spring boot + Maven 项目为例,使用码云作为代码托管仓库,在 CentOS 7 上搭建 Jenkins 持续集成环境. 1. 准备工作 1.1 安装 Java 环境 Jenkins 是基于 Java 开发的持续集成工具,需要在 Java 环境下运行.用下面命令查看系统是否已安装 Java: yum list installed | grep jdk 如果没有,使用 yum search 命令查找 openjdk 版本,选择合适的 jdk 进行安装: yum sear

随机推荐