作为 J 系开发常常遇到一些服务商只提供 jar 包,不提供 maven 坐标情况,作为教科书案例的就是支付宝的 SDK,还有小米推送等等。
最近写项目遇到最困惑的是这个问题,因为还没搭 maven 私服,支付宝或者小米推送的 sdk 都是放到 /WEB-INF/ilb/目录下,使用 IDE ( eclipse,idea )打成 war 包都可以直接丢 war 包部署。碰巧最近开始准备写 shell 来自动编译部署,但是这种写法总是在命令行中提示 pom 文件错误。
<dependency>
<groupId>com.alipay</groupId>
<artifactId>taobao</artifactId>
<scope>system</scope>
<version>1.0.0</version>
<systemPath>${basedir}/src/main/lib/alipay-sdk-java20180104135026.jar</systemPath>
</dependency>
或者各位有什么好办法(除了搭 maven 私服)来解决这种问题呢?以及聊聊不提供 maven 坐标的各大厂商是否有什么难言之隐。
1
doggg OP 在网上看到这种 install sdk 到本地仓库来提供坐标的方法: https://blog.csdn.net/hualele/article/details/68063335
|
2
nolo 2018-04-06 19:51:19 +08:00 via Android
阿里云的 maven 镜像有吗
我用阿里云的 sdk 用阿里云的 maven 镜像好像没有问题。 |
3
odirus 2018-04-06 20:09:30 +08:00
我们一般都是会自建一个仓库,例如 nexus 就很稳定,三方包统统都丢到上面去(没有坐标的话可以自己虚拟一个)。优先从从阿里的 maven 镜像找,没有的话再从自建仓库找。
|
4
doggg OP @nolo http://maven.aliyun.com/nexus/ 在阿里云的镜像确实可以搜到 alipay-sdk,和 mipush 的 sdk,但是我发现都没有提供历史版本,只有一个 maven 坐标,都是最新的版本。感觉以后服务商提交新版本,虽然本地 local 还有 jar,但是一换服务器,本地文件没有 jar,就有点麻烦了。
|
5
aa6563679 2018-04-06 21:22:12 +08:00 via iPhone
pom 文件里可以定义个本地仓库,可以把路径设置到项目文件夹里
|
6
q397064399 2018-04-06 21:22:52 +08:00
maven 可以 mvn install 本地部署.....
|
7
q397064399 2018-04-06 21:24:00 +08:00
wget xxx.jar && mvn install:install-file -Dfile=./xxx.jar -DgroupId=net.hydromatic -DartifactId=linq4j -Dversion=0.1.13 -Dpackaging=jar
|
8
zoowii 2018-04-06 21:35:01 +08:00
我是直接扔 github 上把 github raw url 作为 maven 源
|
9
murmur 2018-04-06 22:17:58 +08:00
没啥难言之隐
我们一不入流国企都有自建 maven 镜像 |
10
doggg OP @q397064399 这个就是我一楼回复的一种方法。不过服务器一多,每台都要这么 install 一下也是很蛋疼的。
|
12
Mogugugugu 2018-04-07 12:50:44 +08:00 via Android
自建私服,无论是 maven 还是 npm 还是 docker 都有自己的私服,一来速度快一点,二来就是方便放一些自己的东西。
|