maven 本地 jar 包各种加入方式(有坑)

本文介绍了三种将本地jar包加入maven项目的方法,包括install到本地仓库、直接放入lib文件夹及上传到私人远程仓库。在实际操作中,作者遇到war包中jar包变为空的问题,通过在WEB-INF/lib下拷入jar包并调整pom.xml配置,最终解决了问题。但这种方法适用于本地jar包数量较少的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目加入本地 jar 包一般有三种方式

方法一

上传到私人远程仓库(没有试过)

方法二

install 到本地仓库

mvn install:install-file -DgroupId=自己的 groupId -DartifactId=自己的 artifactId -Dversion=自己的version -Dpackaging=jar -Dfile= jar 包地址

install 成功后就可以在 pom.xml 中按照一般的方法引入了

方案三

jar 包放在和 pom.xml 同级的 lib 文件夹下
直接在 pom.xml 中加入

 <dependency>
      <groupId>xxxx</groupId>
      <artifactId>xxxx</artifactId>
      <version>0.0.1</version>
      <type>jar</type><!-- 一定要加 -->
      <scope>system</scope>
      <systemPath>${project.basedir}/lib/xxxx.jar</systemPath>
  </dependency>

这种方式要将 jar 包加入打的 war 中,需要加入以下

<plugin>
   <groupId>org.apache.maven.plugins</groupId>   
    <artifactId>maven-war-plugin</artifactId>   
    <configuration>     
        <webResources>     
            <resource>
                <directory>${project.basedir}/lib/</directory>
                <targetPath>WEB-INF/lib</targetPath>
                <filtering>true</filtering>
                <includes>
                <include>**/*.jar</include>
                </includes>
            </resource>
        </webResources>   
    </configuration>
</plugin>

PS

我只试过后面两种,但是都出现了一种问题,就是打好的 war 包中,本地包是一个空包,在 tomcat 中启动时就会无法启动,出现 error in opening zip file.

最后的解决方案

在 WEB-INF/lib/ 中也拷入 jar 包
pom.xml 加入

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source><!-- jdk 版本 -->
                <target>1.8</target>
                <encoding>UTF-8</encoding>
                <compilerArguments>
                    <extdirs>
                        WEB-INF/lib/xxx.jar
                    </extdirs>
                </compilerArguments>
            </configuration>
        </plugin>

不加入方案三的第二部分内容,要方案三的第一部分内容。
终于又打包成功了,但是这只适合于本地 jar 包很少的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值