码迷,mamicode.com
首页 > 编程语言 > 详细

解决maven无法加载本地lib/下的jar包问题(程序包XXX不存在)

时间:2017-06-29 23:46:36      阅读:3756      评论:0      收藏:0      [点我收藏+]

标签:window   tar   blog   解决   utf-8   cti   ext   nts   pom   

这次一个项目用到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不存在)

标签:window   tar   blog   解决   utf-8   cti   ext   nts   pom   

原文地址:http://www.cnblogs.com/adeng/p/7096484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!