天天看点

maven项目引入第三方jar包install失败

有时会从其他项目中得到所用jar包,jar包较多时,懒得一个个去找maven的地址,就直接引入项目了,但是引入项目后,在代码中是可用的,在maven的install的时候,就会报错。

解决方法如下:在pom文件中加入对应jar包的配置,其他的都可以随便写,systemPath对应上第三方jar包就可以。

<dependency>
            <groupId>com.manege.shiro</groupId>
            <artifactId>dom4j</artifactId>
            <version>v0.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/dom4j-1.6.1.jar</systemPath>
        </dependency>
           

但是后面打jar包后,运行的时候,又报错了,说是找不到ClassNotFound,明明在工具中可以正常运行,为什么打成包之后就不行了呢?

解压下打好的jar包,发现在BOOT-INF/lib里面也确实没有发现用上述方式引入的jar包,看来是没有把lib目录里面的jar打进去。

解决方法:

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

<resources>
    <resource>
        <directory>lib</directory>
        <targetPath>BOOT-INF/lib/</targetPath>
        <includes>
            <include>**/*.jar</include>
        </includes>
     </resource>
     <resource>
        <directory>src/main/resources</directory>
        <targetPath>BOOT-INF/classes/</targetPath>
    </resource>
</resources>
           

复制代码目的就是把src/lib下的jar打到BOOT-INF/lib下,但是必须要增加第二个resource,不然src/main/resources下的配置文件又打不进jar包了。