为什么 J 系大厂经常沉迷于把 SDK 做成 jar 包,而提供 maven 坐标?有请各位业内人士谈谈其中的难言之隐。

2018-04-06 19:41:42 +08:00
 doggg

作为 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 坐标的各大厂商是否有什么难言之隐。

4457 次点击
所在节点    程序员
12 条回复
doggg
2018-04-06 19:42:52 +08:00
在网上看到这种 install sdk 到本地仓库来提供坐标的方法: https://blog.csdn.net/hualele/article/details/68063335
nolo
2018-04-06 19:51:19 +08:00
阿里云的 maven 镜像有吗
我用阿里云的 sdk 用阿里云的 maven 镜像好像没有问题。
odirus
2018-04-06 20:09:30 +08:00
我们一般都是会自建一个仓库,例如 nexus 就很稳定,三方包统统都丢到上面去(没有坐标的话可以自己虚拟一个)。优先从从阿里的 maven 镜像找,没有的话再从自建仓库找。
doggg
2018-04-06 20:09:50 +08:00
@nolo http://maven.aliyun.com/nexus/ 在阿里云的镜像确实可以搜到 alipay-sdk,和 mipush 的 sdk,但是我发现都没有提供历史版本,只有一个 maven 坐标,都是最新的版本。感觉以后服务商提交新版本,虽然本地 local 还有 jar,但是一换服务器,本地文件没有 jar,就有点麻烦了。
aa6563679
2018-04-06 21:22:12 +08:00
pom 文件里可以定义个本地仓库,可以把路径设置到项目文件夹里
q397064399
2018-04-06 21:22:52 +08:00
maven 可以 mvn install 本地部署.....
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
zoowii
2018-04-06 21:35:01 +08:00
我是直接扔 github 上把 github raw url 作为 maven 源
murmur
2018-04-06 22:17:58 +08:00
没啥难言之隐
我们一不入流国企都有自建 maven 镜像
doggg
2018-04-07 08:39:55 +08:00
@q397064399 这个就是我一楼回复的一种方法。不过服务器一多,每台都要这么 install 一下也是很蛋疼的。
doggg
2018-04-07 08:41:45 +08:00
@murmur 你说的 maven 镜像和 nexus 私服是只同一个东西吗?
@odirus 看起来只有好像只剩这样了。
Mogugugugu
2018-04-07 12:50:44 +08:00
自建私服,无论是 maven 还是 npm 还是 docker 都有自己的私服,一来速度快一点,二来就是方便放一些自己的东西。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/444718

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX