❤️阿里云服务端SDK下载的jar包通过maven命令安装(maven手动安装本地jar包到项目)

小明的学习圈子2023-11-28后端问题整理 maven

有些jar包未开源,在maven中央仓库没有未开源的jar包,所以pom文件里不能自动联网下载,可以通过maven命令手动安装本地maven仓库中,手动安装不需要联网,前提是本地已经有要安装的jar包,并且pom文件需要配置依赖,执行mvn命令需要配置maven的环境变量。

以阿里的下载服务端SDK为例:

1.先下载服务端SDK里的java上传SDK(VODUploadDemo-java-1.4.11jar)版本会有更新

地址:

https://help.aliyun.com/document_detail/51992.htm?spm=a2c4g.11186623.2.6.1fea5186ltnfVA#title-mbq-hhb-gy2

https://help.aliyun.com/document_detail/53406.html

常用maven参考网址:

http://mvnrepository.com/ http://search.maven.org/ http://repository.sonatype.org/content/groups/public/ http://people.apache.org/repo/m2-snapshot-repository/ http://people.apache.org/repo/m2-incubating-repository/

java上传sdk下载地址

img

img

img

2.jar包所在的lib目录cmd命令进入命令界面(注意版本号,我的这个是分阶段补充的,版本号和上边不一样,但是做法是一样的

img

3.maven命令

pom依赖

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-sdk-vod-upload</artifactId>
    <version>1.4.11</version>
</dependency>

语法:

mvn install:install-file -Dfile=jar包的位置(参数一) -DgroupId=groupId(参数二) -DartifactId=artifactId(参数三) -Dversion=version(参数四) -Dpackaging=jar

例子:

mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.11 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.11.jar

4.通过cmd命令执行上边的maven命令,注意必须在有【aliyun-java-vod-upload-1.4.11.jar】包的lib目录上执行cmd命令。

img

5.pom依赖

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-sdk-vod-upload</artifactId>
    <version>1.4.11</version>
</dependency>

6.手动添加成功后的maven仓库

img

7、在使用Mavenopen in new window的时候,如果我们要依赖一个本地的jar包的时候,通常都会使用system和``来处理。 例如:

//引用本地jar包
<dependency>
    <groupId>com.stu</groupId>
    <artifactId>test</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/lib/stu-1.0.jar</systemPath>
</dependency>

如果你仅仅是这么做了,在你使用SpringBoot打包插件生成jar包的时候,你会发现这个jar包不会被打进去,进而出现错误。

在sprinboot项目中pom.xml文件加,代表maven打包时会将外部引入的jar包(比如在根目录下或resource文件下新加外部jar包)打包到项目jar,在服务器上项目才能运行,不加此配置,本地可以运行,因为本地可以再lib下找到外部包,但是服务器上jar中是没有的。

这个就需要在maven插接中配置一个includeSystemScope属性:maven打包时会将外部引入的jar包(比如在根目录下或resource文件下新加外部jar包)打包到项目jar

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
         <configuration>
            <!-- maven打包时会将外部引入的jar包(比如在根目录下或resource文件下新加外部jar包)打包到项目jar -->
            <includeSystemScope>true</includeSystemScope>
         </configuration>
      </plugin>
   </plugins>
Last Updated 2024/4/6 11:55:17