阿里云服务端SDK下载的jar包通过maven命令安装(maven手动安装本地jar包到项目)
有些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/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下载地址
2.jar包所在的lib目录cmd命令进入命令界面(注意版本号,我的这个是分阶段补充的,版本号和上边不一样,但是做法是一样的)
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命令。
5.pom依赖
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-sdk-vod-upload</artifactId> <version>1.4.11</version> </dependency>
6.手动添加成功后的maven仓库
7、在使用Maven的时候,如果我们要依赖一个本地的jar包的时候,通常都会使用<scope>system</scope>
和<systemPath></systemPath>
来处理。
例如:
//引用本地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文件加<includeSystemScope>true</includeSystemScope>,代表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>