有时会从其他项目中得到所用jar包,jar包较多时,懒得一个个去找maven的地址,就直接引入项目了,但是引入项目后,在代码中是可用的,在maven的install的时候,就会报错。
解决方法如下:在pom文件中加入对应jar包的配置,其他的都可以随便写,systemPath对应上第三方jar包就可以。
<dependency>
<groupId>com.manege.shiro</groupId>
<artifactId>dom4j</artifactId>
<version>v0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/dom4j-1.6.1.jar</systemPath>
</dependency>
但是后面打jar包后,运行的时候,又报错了,说是找不到ClassNotFound,明明在工具中可以正常运行,为什么打成包之后就不行了呢?
解压下打好的jar包,发现在BOOT-INF/lib里面也确实没有发现用上述方式引入的jar包,看来是没有把lib目录里面的jar打进去。
解决方法:
修改pom文件,在build标签下增加如下配置:
<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
</resources>
复制代码目的就是把src/lib下的jar打到BOOT-INF/lib下,但是必须要增加第二个resource,不然src/main/resources下的配置文件又打不进jar包了。