V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
doggg
V2EX  ›  程序员

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

  •  
  •   doggg ·
    vm-001 · 2018-04-06 19:41:42 +08:00 · 4452 次点击
    这是一个创建于 2205 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    12 条回复    2018-04-07 12:50:44 +08:00
    doggg
        1
    doggg  
    OP
       2018-04-06 19:42:52 +08:00
    在网上看到这种 install sdk 到本地仓库来提供坐标的方法: https://blog.csdn.net/hualele/article/details/68063335
    nolo
        2
    nolo  
       2018-04-06 19:51:19 +08:00 via Android
    阿里云的 maven 镜像有吗
    我用阿里云的 sdk 用阿里云的 maven 镜像好像没有问题。
    odirus
        3
    odirus  
       2018-04-06 20:09:30 +08:00
    我们一般都是会自建一个仓库,例如 nexus 就很稳定,三方包统统都丢到上面去(没有坐标的话可以自己虚拟一个)。优先从从阿里的 maven 镜像找,没有的话再从自建仓库找。
    doggg
        4
    doggg  
    OP
       2018-04-06 20:09:50 +08:00
    @nolo http://maven.aliyun.com/nexus/ 在阿里云的镜像确实可以搜到 alipay-sdk,和 mipush 的 sdk,但是我发现都没有提供历史版本,只有一个 maven 坐标,都是最新的版本。感觉以后服务商提交新版本,虽然本地 local 还有 jar,但是一换服务器,本地文件没有 jar,就有点麻烦了。
    aa6563679
        5
    aa6563679  
       2018-04-06 21:22:12 +08:00 via iPhone
    pom 文件里可以定义个本地仓库,可以把路径设置到项目文件夹里
    q397064399
        6
    q397064399  
       2018-04-06 21:22:52 +08:00
    maven 可以 mvn install 本地部署.....
    q397064399
        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
    zoowii
        8
    zoowii  
       2018-04-06 21:35:01 +08:00
    我是直接扔 github 上把 github raw url 作为 maven 源
    murmur
        9
    murmur  
       2018-04-06 22:17:58 +08:00
    没啥难言之隐
    我们一不入流国企都有自建 maven 镜像
    doggg
        10
    doggg  
    OP
       2018-04-07 08:39:55 +08:00
    @q397064399 这个就是我一楼回复的一种方法。不过服务器一多,每台都要这么 install 一下也是很蛋疼的。
    doggg
        11
    doggg  
    OP
       2018-04-07 08:41:45 +08:00
    @murmur 你说的 maven 镜像和 nexus 私服是只同一个东西吗?
    @odirus 看起来只有好像只剩这样了。
    Mogugugugu
        12
    Mogugugugu  
       2018-04-07 12:50:44 +08:00 via Android
    自建私服,无论是 maven 还是 npm 还是 docker 都有自己的私服,一来速度快一点,二来就是方便放一些自己的东西。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2593 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 04:44 · PVG 12:44 · LAX 21:44 · JFK 00:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.