maven将第三方依赖打进jar包
方式一:使用springboot自带的插件
<dependency>
<groupId>com.zc.jdbc</groupId>
<artifactId>test</artifactId>
<version>2.0</version>
<systemPath>${basedir}/libs/zc-testjdbc.jar</systemPath>
<scope>system</scope>
</dependency>
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin>
方式二:使用maven-assembly-plugin
首先,maven的依赖设置不能是下面这样的:
<dependency>
<groupId>com.huawei.rd</groupId>
<artifactId>gsjdbc</artifactId>
<version>4</version>
<systemPath>${basedir}/libs/zc-testjdbc.jar</systemPath>
<scope>system</scope>
</dependency>
这样也打包不进去。如下所示:
应该将第三方依赖包先安装到本地仓库。
然后执行以下命令,将第三方依赖包安装到本地仓库:
mvn install:install-file -Dfile=D:zc-testjdbc.jar -DgroupId=com.zc.jdbc -DartifactId=test -Dversion=2.0 -Dpackaging=jar
maven的依赖项改成:
<dependency> <groupId>com.zc.jdbc</groupId> <artifactId>test</artifactId> <version>2.0</version> </dependency>
build中这样修改:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.zc.jdbc.ZcjdbcTest</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <!-- 添加此项后,可直接使用mvn package | mvn install --> <!-- 不添加此项,需直接使用mvn package assembly:single --> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
然后执行命令:mvn clean package install
打包成功,可以看到有个包明显大了许多,它就是包含第三包依赖包的新jar包。
