需求:项目中引用了第三方jar包,位置在lib下,打包时需要一块打入进war中
解决:有两种方式,一种是将第三方依赖包复制到war包的lib中,另一种方式是将第三方jar包放入本地的maven仓库中
方式一:将第三方依赖包复制到war包的lib中
1.在(/src/main/resources)中新建一个lib包来存放第三方依赖
2.pom中的依赖
<!--xxx依赖-->
<dependency>
<groupId>com.xxx.api</groupId>
<artifactId>xxx</artifactId>
<version>5.2.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/xxx-5.2.1.jar</systemPath>
</dependency>
${project.basedir}
是自带变量,指的是当前项目的根目录。
3.打war包需要配置pom中的plugin,否则第三方依赖打不进去
<!--设置maven-war-plugins插件,否则外部依赖无法打进war包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<!-- directory的路径是需要打包的第三方jar包位置-->
<directory>/src/main/resources/lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
4.上面的三个步骤是打包的时候:配置maven将lib中的第三方jar包复制到war中,所以可以手动直接将lib中的第三方依赖直接拖到war包中的WEB-INF/lib/下,一样可以正常运行项目。
方式二:将第三方jar包放入本地的maven仓库中(参考文章:将外部jar包导入本地maven仓库)
1.选择一个位置存放第三方jar包,我这里是 F:\maven\dcm4che
2.运行mvn命令,注意加粗的部分都需要修改成自己的
mvn install:install-file -DgroupId=org.dcm4che -DartifactId=dcm4che-core -Dversion=5.22.5 -Dpackaging=jar -Dfile=F:\maven\dcm4che\dcm4che-core-5.22.5.jar
mvn install:install-file
-DgroupId=org.dcm4che
-DartifactId=dcm4che-core -Dversion=5.22.5
-Dpackaging=jar
-Dfile=F:\maven\dcm4che\dcm4che-core-5.22.5.jar
3.然后在maven仓库中按着上面的依赖路径查找jar包
4.项目中的依赖可以修改为正常的
<dependency>
<groupId>org.dcm4che</groupId>
<artifactId>dcm4che-core</artifactId>
<version>5.22.5</version>
</dependency>