有时会从其他项目中得到所用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包了。