【maven】引入外部jar包(钉钉)

当无法从远程repository下载jar包时,可以通过手动安装到Maven本地repository来使用。本文介绍了两种方法:一是使用`mvn install:install-file`命令,二是通过在pom文件中指定systemPath。第一种方法成功解决了问题。

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

在Maven中,使用第三方库一般是通过pom.xml文件中定义的dependency从远程repository中下载该库。但是如果由于各种原因(比如网速)不能通过远程repository下载,因此通过其他方式下载到 jar 包,但这些 jar 包不能在 repository (资源库)中使用,就需要手动安装 jar 包到 maven 本地 repository (资源库)
这种情况下,有两种方法可以解决问题:
方法一:
将jar包安装到本地repository中,具体步骤如下:
1、下载钉钉要用到的jar包:taobao-sdk-java-auto_1479188381469-20191231.jar、taobao-sdk-java-auto_1479188381469-20191231-source.jar  
2、将jar包移动到本地repository中
3、现在这些 jar 包还不能在 repository中使用,需要手动安装 jar 包到 maven 本地 repository
使用如下命令安装jar文件:
mvn install:install-file -DgroupId=com.dingtalk.open -DartifactId=taobao-sdk-java-auto -Dversion=2.0.0-SNAPSHOT -Dpackaging=jar -Dfile=taobao-sdk-java-auto_1479188381469-20210421.jar
win+r   cmd 中进入jar 包所在的目录:
执行安装命令(记得要把maven配置全局变量哦!):
执行成功该命令后,会在本地repository中com\dingtalk\open目录下生成一个dingtalk_1479188381469-1.0.jar的文件和一个自动产生的pom文件。
  
命令解析:
 安装指定文件到本地仓库命令:mvn install:install-file
-DgroupId=<groupId> : 设置上传到仓库的包名
-DartifactId=<artifactId> : 设置该包所属的模块名
-Dversion=1.0.0 : 设置该包的版本号
-Dpackaging=jar : 设置该包的类型(很显然jar包)
-Dfile=<myfile.jar>: 设置该jar包文件所在的路径与文件名
4、安装完之后,在项目中使用它的时候,只要在pom文件中指定相应的dependency就可以,如:
     <dependencies>
          <dependency>
            <groupId>com.dingtalk.open</groupId>
            <artifactId>taobao-sdk-java-auto</artifactId>
            <version>2.0.0-SNAPSHOT</version>
         </dependency>
     </dependencies>
方法二:
方法一在本地存储库中安装了第三方JAR。方法二与上面的方法不同之处在于它不需要安装任何库文件,只是在应用程序中的pom文件中指定jar文件的目录即可。
首先,把jar包手动放到我们项目目录的lib文件下,也就是项目目录/src/main/lib文件夹下
<properties>
    <custom.lib-path>${basedir}/src/main/webapp/WEB-INF/libcustom.lib-path>
</properties>
 
     <dependencies>
          <dependency>
          <groupId>com.dingtalk.open</groupId>
          <artifactId>taobao-sdk-java-auto</artifactId>
          <version>2.0.0-SNAPSHOT</version>
          <scope>system</scope>
          <systemPath>${project.basedir}/taobao-sdk-java-auto_1479188381469-20191231.jar</systemPath>
       </dependency>
    </dependencies>
 
scope默认是compile,设置成system,使dependency不是去repository中查找,而是在系统目录中查找。
systemPath指定了jar文件的绝对路径。项目根目录下的lib文件夹下。
小编尝试的是第一种方法,很完美的解决了问题。第二种方法有待验证~~~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值