目录
一、工程代码和第三方依赖包分开
二、工程代码和第三方依赖包打入同一个jar包
1、工程的class文件和依赖的第三方jar包所包含的class文件打进同一个jar包中。部署时,直接部署该jar包即可。
2、如果是springboot工程,可以将工程的class文件和依赖的第三方jar打进同一个jar包中。部署时,直接部署该jar包即可。
一、工程代码和第三方依赖包分开
部署包包含如下部分
(1)xxx.jar,包含工程的class文件
(2)lib目录,包含所依赖的第三方jar包
可通过maven-jar-plugin、maven-dependency-plugin俩个插件进行配置实现,配置如下
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<!--指定 resources/lib 目录-->
<classpathPrefix>lib</classpathPrefix>
<!--应用的主入口类-->
<mainClass>com.slffj.freshman.PersonCommunicate</mainClass>
</manifest>
<!-- <manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>-->
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>compile</phase>
<goals>
<!--将 resources/lib 目录所有 Jar 包打进最终的依赖中-->
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--将 resources/lib 目录所有 Jar 包一并拷贝到输出目录的 lib 目录下-->
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
二、工程代码和第三方依赖包打入同一个jar包
1、工程的class文件和依赖的第三方jar包所包含的class文件打进同一个jar包中。部署时,直接部署该jar包即可。
可通过maven-shade-plugin俩个插件进行配置实现,配置如下
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<!-- put your configurations here -->
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>shade</shadedClassifierName> <!-- Any name that makes sense -->
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.slffj.freshman.PersonCommunicate</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
2、如果是springboot工程,可以将工程的class文件和依赖的第三方jar打进同一个jar包中。部署时,直接部署该jar包即可。
可通过spring-boot-maven-plugin配置实现,配置如下
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.6.8</version>
<executions>
<execution>
<id>repackage</id>
<configuration>
<excludeDevtools>true</excludeDevtools>
</configuration>
</execution>
</executions>
</plugin>