java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > maven打包不打jar包

maven打包不打lib目录里面的jar包的解决办法

作者:月轩居士

本文主要介绍了maven打包不打lib目录里面的jar包的解决办法,解决打包时第三方jar未被包含导致ClassNotFound问题,具有一定的参考价值,感兴趣的可以了解一下

出现原因

项目原来在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包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文