Spring的项目在spring boot之前一般我都是打成war包发布到tomcat的,但最近使用了spring boot 要打成jar包,一开始不理解为啥有要打成jar,war包不是很好吗?

另外一点是由于现在还不会打jar包,所以感觉没必要。经过一段时间的适应,感觉打jar包是很有必要的,而且发布也很方便了省去了安装tomcat等中间件。

说下如何打jar包把,其实很简单,主要是配置好pom.xml文件就可以了,关键点如下:

 

springboot项目打jar包排除配置文件 springboot工程打jar包_jar包

一定要写jar。

在<bulid>中添加如下配置:

<build>
  <!-- 打成jar包的名称 -->
  <finalName>gateway</finalName>
  <plugins>
          <!-- 需要引用的jar包 -->
      <plugin> 
                <groupId>org.springframework.boot</groupId> 
                <artifactId>spring-boot-maven-plugin</artifactId> 
            </plugin> 
   </plugins>
    <!-- <finalName>gateway</finalName> -->
  </build>
  <!-- 仓库地址 -->
   <repositories> 
        <repository> 
            <id>spring-milestone</id> 
            <url>http://repo.spring.io/libs-release</url> 
        </repository> 
</repositories>

配置好这些后,使用工具,我使用的是myeclipse,mvan  update项目。

使用工具myeclipse打jar包。

第一步:使用debug configurations 配置的方式打包

 

springboot项目打jar包排除配置文件 springboot工程打jar包_jar_02

第二步:显示出debug configuratons 的页面,

1选中Maven  Bulid 下面的项目;

2 Goals选项中输入package

3 点击Debug按钮。

 

springboot项目打jar包排除配置文件 springboot工程打jar包_开发工具_03

 

第三步:控制台输出了  1处的信息:BUILD SUCCESS

2项目的target文件夹下处理了 gateway.jar说明jar包打包完毕。

 

springboot项目打jar包排除配置文件 springboot工程打jar包_java_04

第四步测试jar包是否可用

使用命令窗体,切入到jar存在的目录;执行java –jar ***.jar

 

springboot项目打jar包排除配置文件 springboot工程打jar包_java_05

最好出现下图信说明jar启动完毕。

 

springboot项目打jar包排除配置文件 springboot工程打jar包_开发工具_06

使用浏览器测试。项目可用登录。

 

springboot项目打jar包排除配置文件 springboot工程打jar包_开发工具_07

第五步关闭jar包启动的线程。

1.如果是window系统,直接关闭命令窗体就可以了。

2.如果是linux系统,使用ps命令找到对应线程 ,在使用kill命令杀死线程。

再说最简单的打jar方式,使用命令切入到项目的路径下,执行:mvn package 就会自己打包的,打包完成后在项目输出目录target中可用看到对应的jar包。

已经开始打包了。

 

springboot项目打jar包排除配置文件 springboot工程打jar包_java_08

 

打包完成。

 

springboot项目打jar包排除配置文件 springboot工程打jar包_java_09

Jar会打了,那如果要打war包那。

打spring boot项目建议还是不要打war包,因为这是淘汰的方式。但如果要打,在pom.xml文件中配置:

 

springboot项目打jar包排除配置文件 springboot工程打jar包_python_10

<bulid>中配置如下信息,就可以使用eclipse导出war包了:

<plugin>      
   <groupId>org.apache.maven.plugins</groupId>      
   <artifactId>maven-war-plugin</artifactId>      
   <configuration>      
    <warSourceExcludes>src/main/resources/**</warSourceExcludes> 
    <warName>gateway</warName>      
   </configuration>      
  </plugin>

将一些逻辑问题使用代码实现