项目在服务器中如果是通过jar包的形式启动运行的,每次在项目更新时都要重新打jar并上传到服务器,随着功能的增多,lib包内引入的第三方jar包会越来越多,导致打出来的项目jar包越来越大,下面的方法可以把项目的lib包分离出来,单独吧lib包放在服务器上,启动时引入一下就可以了
第一步:先在pom文件的<plugins>中加入下面的两组<plugin>,打完后的格式展示如下图
<!-- lib包,打完一次后可以注释掉,如果有新引入的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>
<!-- 依赖包输出目录,将来不打进jar包里 -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>false</stripVersion>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<!-- 压缩jar包,打出来的jar中没有了lib文件夹 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
</plugin>
第二步:在linux平台上面启动的指令(别忘记把打好的lib包放到服务器上,与jar包放的层级一样,这样直接执行下面的指令就可以了)
//压缩后jar包的启动指令
nohup java -Dloader.path="lib/" -jar xxx.jar &
//未压缩jar包的启动指令
nohup java -jar xxx.jar &