使用表格存储(原OTS)的Java SDK遇到Protobuf或HttpClient库冲突时怎么办?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用表格存储(原OTS)的Java SDK遇到Protobuf或HttpClient库冲突时怎么办?

2016-05-11 16:49:19 8304 4

表格存储(原OTS)的Java SDK依赖了2.4.1版本的Protobuf库以及4.0.2的httpasyncclient,很容易与用户应用程序中自身带的相同库冲突,如果遇到了冲突,该如何解决?

取消 提交回答
全部回答(4)
  • 木洛
    2019-07-17 18:59:37
    已采纳

    可以使用OTS SDK提供的一个特殊版本:

    <dependency>
      <groupId>com.aliyun.openservices</groupId>
      <artifactId>ots-public</artifactId>
      <version>2.2.5</version>
      <classifier>jar-with-dependencies</classifier>
      <exclusions>
               <exclusion>
                   <groupId>com.google.protobuf</groupId>
                   <artifactId>protobuf-java</artifactId>
              </exclusion>
      </exclusions>
    </dependency>
    

    或者

    <dependency>
      <groupId>com.aliyun.openservices</groupId>
      <artifactId>tablestore</artifactId>
      <version>4.2.3</version>
      <classifier>jar-with-dependencies</classifier>
      <exclusions>
               <exclusion>
                   <groupId>com.google.protobuf</groupId>
                   <artifactId>protobuf-java</artifactId>
              </exclusion>
      </exclusions>
    </dependency>
    

    注意classifier为jar-with-dependencies,它将依赖的HttpClient和Protobuf这两个库都通过rename package的方式打包进去,去除了对HttpClient和Protobuf的依赖。

    4 0
  • 271840134137715953
    2019-07-17 18:59:37
        <dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>tablestore</artifactId>
            <version>4.11.2</version>
            <classifier>jar-with-dependencies</classifier>
            <exclusions>
                <exclusion>
                    <groupId>com.google.protobuf</groupId>
                    <artifactId>protobuf-java</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpasyncclient</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
        </dependency>
    0 0
  • elasticsmonitor
    2019-07-17 18:59:37

    如果别人也遇到这个问题,而又不能改依赖的阿里库版本。

    可以打开阿里的包,看他依赖哪个版本,手动的把这个版本添加到依赖里面去也可以。

    0 0
  • 亦征
    2019-07-17 18:59:37

    如果出现HttpClient冲突时,可以把HttpClient相关的库也加到exclusion里,配置如下:

        <dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>ots-public</artifactId>
            <version>2.2.4</version>
            <classifier>jar-with-dependencies</classifier>
            <exclusions>
                <exclusion>
                    <groupId>com.google.protobuf</groupId>
                    <artifactId>protobuf-java</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpasyncclient</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    0 0
添加回答
相关问答

1

回答

使用Java SDK时遇到Protobuf或HttpClient库冲突,如何解决?

2020-03-29 15:37:02 456浏览量 回答数 1

1

回答

java使用c3p0连接mysql集群的问题

2016-02-08 00:43:33 2561浏览量 回答数 1

0

回答

TableStore(原 OTS)Java SDK 的安装和使用

2017-10-25 15:44:14 2973浏览量 回答数 0

2

回答

java源码怎么使用

2018-05-10 20:09:09 1534浏览量 回答数 2

1

回答

java类 B继承A 打印调用类名问题

2016-06-02 17:43:21 1655浏览量 回答数 1

1

回答

ubuntu安装JDKjava -version提示java无效命令403.10 禁止访问:配置无效

2020-05-27 11:30:14 286浏览量 回答数 1

1

回答

java中string怎么使用呢?

2022-04-03 10:06:59 165浏览量 回答数 1

1

回答

JAVA中try-catch处理异常的代码该怎样编写呢?

2022-04-03 18:25:37 649浏览量 回答数 1

1

回答

Python UDF的使用方式之一Java table API怎么使用?

2021-11-17 17:34:27 536浏览量 回答数 1

1

回答

java子类怎么使用接口

2018-05-10 20:09:10 1931浏览量 回答数 1
+关注
木洛
阿里云高级技术专家,表格存储(TableStore)研发,专注NoSQL领域技术和解决方案。
25
文章
40
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载