SpringBoot部署Jar文件,分离lib和static文件

试了好多个都不行,最终找到这个可以使用的最后的结构是这样的

config:里面放了所有的static静态文件和yml、properties和配置文件

jar:里面放了未分离的jar包

lib:分离出来的jar

xxx.jar:分离出来后的jar

将config、lib、xxx.jar放在同级目录 

nohup java -jar xxx.jar & 启动或者 java -jar xxx.jar &

 

<build>
    <finalName>项目名字</finalName>
    <plugins>
      <!--定义项目的编译环境-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <!--maven的测试用例插件,建议跳过。-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
      <!--这个是springboot的默认编译插件,他默认会把所有的文件打包成一个jar-->
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <mainClass>com.company.project.CompanyProjectApplication</mainClass>
          <fork>true</fork>
          <addResources>true</addResources>
          <outputDirectory>${project.build.directory}/jar</outputDirectory>
        </configuration>
      </plugin>
      <!-- 打JAR包 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <!-- 不打包资源文件(配置文件和依赖包分开) -->
          <excludes>
            <exclude>*.yml</exclude>
            <exclude>*.properties</exclude>
            <exclude>mybatis/**</exclude>
            <exclude>templates/**</exclude>
            <exclude>static/**</exclude>
          </excludes>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <!-- MANIFEST.MF 中 Class-Path 加入前缀 -->
              <classpathPrefix>lib/</classpathPrefix>
              <!-- jar包不包含唯一版本标识 -->
              <useUniqueVersions>false</useUniqueVersions>
              <!--指定入口类 -->
              <mainClass>com.company.project.CompanyProjectApplication</mainClass>
            </manifest>
            <manifestEntries>
              <!--MANIFEST.MF 中 Class-Path 加入资源文件目录 -->
              <Class-Path>./config/</Class-Path>
            </manifestEntries>
          </archive>
          <outputDirectory>${project.build.directory}</outputDirectory>
        </configuration>
      </plugin>
      <!-- 该插件的作用是用于复制依赖的jar包到指定的文件夹里 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/lib/</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- 该插件的作用是用于复制指定的文件 -->
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution> <!-- 复制配置文件 -->
            <id>copy-resources</id>
            <phase>package</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <resources>
                <resource>
                  <directory>src/main/resources</directory>
                  <includes>
                    <include>*.yml</include>
                    <include>*.properties</include>
                    <include>mybatis/**</include>
                    <include>templates/**</include>
                    <include>static/**</include>
                  </includes>
                </resource>
              </resources>
              <outputDirectory>${project.build.directory}/config</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值