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

在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文件夹下。
小编尝试的是第一种方法,很完美的解决了问题。第二种方法有待验证~~~

猜你喜欢

转载自blog.csdn.net/hejingfang123/article/details/116131565