概述
在项目中用了一个在Maven中央仓库没有的第三方jar包,Maven中该如何依赖呢?
如果引入不好,启动项目时会报:
java.lang.ClassNotFoundException异常
导入jar
在项目src目录同级的目录下,新建lib
目录,然后把jar包拖到这个目录里面
在pom中引入依赖
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on-154</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${pom.basedir}/lib/bcprov-jdk15on-154.jar</systemPath>
</dependency>
- version是自定义的
- groupId是根据jar包种的包层次写的
- artifactId我直接用的jar包的名称
加入maven-dependency-plugin插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>compile</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
<includeScope>system</includeScope>
</configuration>
</execution>
</executions>
</plugin>
打包后,在打好的jar包中,到/WEB-INF/lib
目录,可以看到bcprov-jdk15on-154.jar
已经被打进去了。
环境说明
- maven版本:Apache Maven 3.3.9
- Java version: 1.7.0_80
- OS name: “mac os x”, version: “10.13.3”