1. 程式人生 > >解決maven無法加載本地lib/下的jar包問題(程序包XXX不存在)

解決maven無法加載本地lib/下的jar包問題(程序包XXX不存在)

冒號 無法加載 maven插件 nts ldp resource apache conf web-inf

這次一個項目用到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不存在)