解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)
Posted 练好本领,报国杀敌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)相关的知识,希望对你有一定的参考价值。
这次一个项目用到maven编译,我在本地开发的时候jar包都是放在WEB-INF/lib目录下,通过
BuildPath将jar包导入,然后用MyEclipse中的:maven package命令打成war包,这个war包在tomcat下能正常运行,war包下是有lib下的jar包的。
但是我往服务器上传的是项目源码,用SVN上传,然后服务器上用maven插件编译运行,编译时报错:找不到WEB-INF/lib下jar包。显然maven编译时不会自动加载WEB-INF/lib下的jar包。
项目的jar包是一部分从maven库下载,一部分放在本地WEB-INF/lib下,其中放在本地的jar包是在maven库中找不到的。这就需要maven既加载maven库中的jar包,又要加载本地WEB-INF/lib下的
jar包。
现在终于解决问题了,方法是在pom.xml文件中添加一段配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib;${project.basedir}/src/main/resources/lib</extdirs> </compilerArguments> </configuration> </plugin>
扩展:
另外,放入resources包下也是可以的,若多个lib包,只需要在多个路径中间用分号“;”隔开(windows环境),
在linux环境下,用冒号隔开“:” 这句话等待验证
以上是关于解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)的主要内容,如果未能解决你的问题,请参考以下文章