出现原因
项目原来在tomcat中运行的war包,使用maven构建,依赖由maven管理,现在需要与第三方系统对接,用第三方技术,第三方提供若干jar包,使用时直接把这些jar包放到lib目录,打包时发现报classnotfundexception,找不到这些类;
解决方案
打成jar包,pom文件中添加:
<build> <plugins> <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</extdirs> </compilerarguments> </configuration> </plugin> </plugins> </build>
打成war包,pom文件中添加 :
<build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-war-plugin</artifactid> <configuration> <webresources> <resource> <directory>${project.basedir}/src/main/resources/lib</directory> <targetpath>web-inf/lib/</targetpath> <includes> <include>**/*.jar</include> </includes> </resource> </webresources> </configuration> </plugin> </plugins> </build>
打成的是war包,解决方法是pom中加:
<build> <resources> <resource> <directory>${project.basedir}/src/main/webapp/web-inf/lib</directory> <targetpath>web-inf/lib/</targetpath> <resource> </resources> </build>
到此这篇关于maven打包不打lib目录里面的jar包的解决办法的文章就介绍到这了,更多相关maven打包不打jar包内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论