起因:我們的項目原為一個在Tomcat中運行的war包,使用maven構建,依賴由maven管理,現在需要和第三方系統對接,使用第三方技術,第三方提供若干jar包,使用時直接把這些jar包放到lib目錄,打包時發現報ClassNotFundException,找不到這些類
解決辦法:
網絡查找的方法:
若打成jar包,pom文件中添加:
1 <build> 2 <plugins> 3 <plugin> 4 <groupId>org.apache.maven.plugins</groupId> 5 <artifactId>maven-compiler-plugin</artifactId> 6 <version>3.6.0</version> 7 <configuration> 8 <source>1.8</source> 9 <target>1.8</target> 10 <encoding>UTF-8</encoding> 11 <compilerArguments> 12 <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs> 13 </compilerArguments> 14 </configuration> 15 </plugin> 16 </plugins> 17 </build>
若打成war包,pom文件中添加:
1 <build> 2 <plugins> 3 <plugin> 4 <groupId>org.apache.maven.plugins</groupId> 5 <artifactId>maven-war-plugin</artifactId> 6 <configuration> 7 <webResources> 8 <resource> 9 <directory>${project.basedir}/src/main/resources/lib</directory> 10 <targetPath>WEB-INF/lib/</targetPath> 11 <includes> 12 <include>**/*.jar</include> 13 </includes> 14 </resource> 15 </webResources> 16 </configuration> 17 </plugin> 18 </plugins> 19 </build>
個人打成的是war包,解決方法是pom中加:
1 <build> 2 <resources> 3 <resource> 4 <directory>${project.basedir}/src/main/webapp/WEB-INF/lib</directory> 5 <targetPath>WEB-INF/lib/</targetPath> 6 <resource> 7 </resources> 8 </build>