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

相关文章

  • SpringMVC整合websocket实现消息推送及触发功能

    SpringMVC整合websocket实现消息推送及触发功能

    这篇文章主要为大家详细介绍了SpringMVC整合websocket实现消息推送及触发功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • mybatis plus in使用时传数组、集合的注意点说明

    mybatis plus in使用时传数组、集合的注意点说明

    这篇文章主要介绍了mybatis plus in使用时传数组、集合的注意点说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 在Java的Spring框架的程序中使用JDBC API操作数据库

    在Java的Spring框架的程序中使用JDBC API操作数据库

    这篇文章主要介绍了在Java的Spring框架的程序中使用JDBC API操作数据库的方法,并通过示例展示了其存储过程以及基本SQL语句的应用,需要的朋友可以参考下
    2015-12-12
  • Springcloud-nacos实现配置和注册中心的方法

    Springcloud-nacos实现配置和注册中心的方法

    这篇文章主要介绍了Springcloud-nacos实现配置和注册中心的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Maven dependency plugin使用心得总结

    Maven dependency plugin使用心得总结

    这篇文章主要给大家介绍了关于Maven dependency plugin使用心得的相关资料,Maven是一个常用的Java build Manager,使用Maven可以很好的对Java Project的dependency进行管理,需要的朋友可以参考下
    2023-10-10
  • String字符串转BigDecimal时,报NumberFormatException异常的解决

    String字符串转BigDecimal时,报NumberFormatException异常的解决

    这篇文章主要介绍了String字符串转BigDecimal时,报NumberFormatException异常的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • java提取json中某个数组的所有值方法

    java提取json中某个数组的所有值方法

    下面小编就为大家分享一篇java提取json中某个数组的所有值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Java消息队列RabbitMQ入门详解

    Java消息队列RabbitMQ入门详解

    这篇文章主要介绍了Java消息队列RabbitMQ入门详解,RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议 来实现,AMQP的主要特征是面向消息、队列、路由(包括点对点和发布 /订阅)、可靠性、安全,需要的朋友可以参考下
    2023-07-07
  • Spring IOC中的Bean对象用法

    Spring IOC中的Bean对象用法

    这篇文章主要介绍了Spring IOC中的Bean对象用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 关于IDEA无法预览Markdown文件的解决思路

    关于IDEA无法预览Markdown文件的解决思路

    在IntelliJ IDEA中,有时Markdown文件无法预览可能是因为文件关联设置不正确或配置信息错误,首先,检查IDE的File Types设置,确保.md和.markdown后缀已正确注册,其次,对照官方配置信息,调整Markdown设置
    2024-09-09

最新评论