springboot依赖分离,本地代码和第三方依赖包分开,减少部署服务时的上传时间

在pom.xml中的<build>标签中的<plugins>标签中添加下面这个插件

<!-- 拷贝项目所有依赖jar文件到构建lib目录下 -->
			<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>
							<excludeTransitive>false</excludeTransitive>
							<stripVersion>false</stripVersion>
							<silent>true</silent>
						</configuration>
					</execution>
				</executions>
			</plugin>

正常来说我们的项目都已经有下面这个插件了,

如果没有就添加上,然后在其中的configuration标签中添加下面一段内容

                    <includes>
						<!-- 不存在的include引用,相当于排除所有maven依赖jar,没有任何三方jar文件打入输出jar -->
						<include>
							<groupId>null</groupId>
							<artifactId>null</artifactId>
						</include>
					</includes>
					<layout>ZIP</layout>

刷新一下maven

现在执行maven clean package

可以看到target中有一个lib目录,其中lib里面是项目依赖的第三方包,而我们的jar包,只有几百k大小了

如果没有更改过maven依赖,那么lib里面的东西没有变,后面部署的时候就不用更新lib文件夹,只需要上传我们的jar包就行了,基本上可以做到秒传

如果把lib和jar包放在同一目录,那么启动命令就是

nohup java -jar -Dloader.path=./lib arbitration.jar &

path目录根据你lib的路径定

猜你喜欢

转载自blog.csdn.net/qq_41890624/article/details/115368942
今日推荐