zoukankan      html  css  js  c++  java
  • maven加载第三方jar不能加载

    这个问题处于项目组,总算是解决了。下面是一些自己的做法。

    1.说明介绍

      公司现在用的是spring+maven,使用的公共maven库没有问题,但是想要把一些老的项目改造这种框架会出现一些问题。

      因为一些老的项目中有好多第三方的jar包或者是自己的jar包(尤其是这种自己的包),maven库上没有。

      最初的解决方案是一个个的deploy到maven库上,但是遇到太多的三方jar包就太费事了,同时会有一些成本问题。

      网上查了一下发现maven有一种方式可以将本地的Jar包依赖到项目中而不需要先deploy到maven库上,值得学习一下。

    2.在项目中新建一个lib

      这个lib可以在项目下建,只要可以找到即可。

      不过这里讲lib目录放在src下面了,问题不大。

      

    3.将jar包放进来

      

    4.修改pom文件 

     <!--添加外部依赖-->
     basedir是自带变量,指的是当前项目的绝对路径,三围自己随便写。
    <dependency>
        <groupId>ChartDirector</groupId>
        <artifactId>ChartDirector</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/src/lib/ChartDirector.jar</systemPath>
    </dependency>
    

      

    5.问题所在

      用mvn clean package打成jar包后运行就是报错,正式找不到这些jar包中的相关类。把jar包解压后在WEB-INF/lib里面也确实没有发现用上述方式引入的jar包,看来是没有把src/lib目录里面的jar打进去,后来通过查找也终于找到方法了。

    6.修改pom文件,在build标签下增加如下配置

          <!--设置maven-war-plugins插件,否则外部依赖无法打进war包-->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
              <webResources>
                        <resource>
                                <directory>${project.basedir}/src/lib</directory>
                                <targetPath>WEB-INF/lib/</targetPath>
                                <includes>
                                    <include>**/*.jar</include>
                                </includes>
                        </resource>
              </webResources>
            </configuration>
          </plugin>        
    

      

    7.maven clean 与 install

      

    8.看效果

      这个可以直接从target中看。

      

    进入这个目录下,然后打开war包:

      

      

  • 相关阅读:
    机试笔记1
    ZOJ 3846 GCD Reduce//水啊水啊水啊水
    最短路练习
    CodeForces 632C The Smallest String Concatenation//用string和sort就好了&&string的基础用法
    HDOJ 5667 Sequence//费马小定理 矩阵快速幂
    HDOJ 5666//快速积,推公式
    HDOJ 5672//模拟
    网络流相关知识点以及题目//POJ1273 POJ 3436 POJ2112 POJ 1149
    南理第八届校赛同步赛-C count_prime//容斥原理
    python之shutil模块使用方法
  • 原文地址:https://www.cnblogs.com/juncaoit/p/8430657.html
Copyright © 2011-2022 走看看