精华内容
下载资源
问答
  • spring cloud : guava依赖冲突

    千次阅读 2020-05-25 14:58:07
    就是依赖版本冲突,我用的是spring cloud 的版本太高了,但是 guava 的版本太低了导致的 解决方法: 1、指定 guava 的版本 <dependency> <groupId>com.google.guava</groupId> <artifactId&...

    错误截图:

    在这里插入图片描述

    就是依赖版本冲突,我用的是spring cloud 的版本太高了,但是 guava 的版本太低了导致的


    解决方法:

    1、指定 guava 的版本

    <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
       <version>20.0</version>
    </dependency>
    

    2、从指定包含 guava 的依赖排除guava

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Hoxton.SR1</version>
        <exclusions>
        	<exclusion>
        		<groupId>com.google.guava</groupId>
        		<artifactId>guava</artifactId>
        	</exclusion>
        </exclusions>
    </dependency>
    
    展开全文
  • <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> <groupId>com.google.guava</groupId>...guava</artifactId> <version>22.0&l...
            <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>22.0</version>
            </dependency>
    
    展开全文
  • guava依赖冲突解决,父pom锁定包版本

    千次阅读 2020-04-29 14:08:40
    springcloud项目使用自己封装的codis包,发现怎么调解guava的版本,都会报错。 java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor; ...

    springcloud项目使用自己封装的codis包,发现怎么调解guava的版本,都会报错。

    java.lang.NoSuchMethodError:
    com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

    后网上搜索是guava的新版本没有兼容老版本,但是codis使用了老版本的部分类在新版本内被去掉了。这个时候只能使用shade插件曲线救国。

    ...
        <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <id>apache-curator-guava-shader</id>
                <goals>
                  <goal>shade</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                  <artifactSet>
                    <includes>
                      <include>com.google.guava:guava</include>
                    </includes>
                  </artifactSet>
                  <relocations>
                    <relocation>
                      <pattern>com.google</pattern>
                      <shadedPattern>codis.com.google</shadedPattern>
                    </relocation>
                  </relocations>
                  <filters>
                    <filter>
                      <artifact>com.google.guava:guava</artifact>
                      <excludes>
                        <exclude>com/google/common/base/Function.class</exclude>
                        <exclude>com/google/common/base/Predicate.class</exclude>
                        <exclude>com/google/common/reflect/TypeToken.class</exclude>
                        <exclude>META-INF/**</exclude>
                      </excludes>
                    </filter>
                  </filters>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    ...
    

    后续

    第二天发现springboot实际是通过dependencyManagement可以锁定项目的依赖版本,不会使用项目包传递过来的版本。
    现象就是:单独的客户端包依赖的版本是4.0.1的curator, 但是从springboot项目的依赖树看到客户端依赖的版本是2.2.1版本。
    解决方法:
    在springBoot项目的父pom里面锁定新版本:

    <dependencyManagement>
            <dependencies>
                <!-- Log4j2 -->
                <dependency>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-core</artifactId>
                    <version>2.8.2</version>
                </dependency>
    
                <dependency>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-api</artifactId>
                    <version>2.8.2</version>
                </dependency>
    
                <dependency>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-slf4j-impl</artifactId>
                    <version>2.8.2</version>
                </dependency>
    
                <!-- curator -->
                <dependency>
                    <groupId>org.apache.curator</groupId>
                    <artifactId>curator-client</artifactId>
                    <version>4.0.1</version>
                </dependency>
    
                <dependency>
                    <groupId>org.apache.curator</groupId>
                    <artifactId>curator-recipes</artifactId>
                    <version>4.0.1</version>
                </dependency>
    
                <dependency>
                    <groupId>org.apache.curator</groupId>
                    <artifactId>curator-framework</artifactId>
                    <version>4.0.1</version>
                </dependency>
    
                <dependency>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                    <version>25.1-jre</version>
                </dependency>
    
                <dependency>
                    <artifactId>commons-lang3</artifactId>
                    <groupId>org.apache.commons</groupId>
                    <version>3.7</version>
                </dependency>
    
            </dependencies>
        </dependencyManagement>
    

    如果子模块需要使用指定版本,直接在模块的pom文件指定jar的版本即可。

    展开全文
  • 解决分库分表依赖shardingsphere与swagger2之前的guava依赖版本冲突 冲突原因 <dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-core</artifactId> &...

    解决分库分表依赖shardingsphere与swagger2之前的guava依赖版本冲突

    冲突原因

    <dependency>
        <groupId>io.shardingjdbc</groupId>
        <artifactId>sharding-jdbc-core</artifactId>
        <version>2.0.3</version>
    </dependency>
    

    上面pom导入的jar所以来版本guava版本为18.0

    下面swagger2的jar所依赖guava版本为20.0

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>
    

    解决冲突

    将低版本的guava忽略掉(考虑高版本兼容低版本),代码如下,在shardingjdbc的pom中加入下面标签,来忽略该jar依赖的guava.

    <dependency>
        <groupId>io.shardingjdbc</groupId>
        <artifactId>sharding-jdbc-core</artifactId>
        <version>2.0.3</version>
           <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                </exclusions>
    </dependency>
    

    总结思路

    适用于大多数这类冲突问题:

    1. 首先定位到出现冲突的原因----->guava版本冲突
    2. 确定冲突引起的原因位置------>swagger2与shardingjdbc
    3. 综合考虑方案----->屏蔽掉一个低版本
    展开全文
  • guava jar包

    2018-03-27 17:17:58
    Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...
  • 前言版本guava 版本Spark2.2.012.0.1HBase1.0.0-cdh5.6.020.0由于guava的版本在16.0以后,不向后兼容,所以Spark程序中集成HBase是会报找不到依赖的方法错误, 如下:Caused by: org.apache.hadoop.hbase....
  • com.google.guava maven依赖

    千次阅读 2016-06-30 14:42:26
    com.google.guava/guava 共有41个版本,总共被引用了20095次 被引用次数最多的版本是14.0.1 ...Guava is a suite of core and expanded libraries that include utility classes, google's collections, io classes
  • 项目环境: 2.12.14 3.0.3 3.1.3 3.1.2 发现问题: 之前测试了访问外置hive的demo运行没有问题 demo如下 package myspark.sql import org.apache.spark.SparkConf ...jre com.fasterxml.jackson.core jackson-core 2.11.4 com.fasterxml.jackson.core jackson-databind 2.11.4 com.fasterxml.jackson.core jackson-annotations 2.11.4 com.fasterxml.jackson.module jackson-module-scala_2.12 2.11.4 org.apache.maven.plugins maven-shade-plugin 3.1.0 package shade com.fasterxml.jackson noc.com.fasterxml.jackson com.google.guava noc.com.google.guava 更新依赖...
  • 注意:如果使用上述的Ints等方法,需要引入guava库 com.google.guava guava 18.0 guava是谷歌发布的功能强大的方法库,里边对字符串、转换、集合、缓存等等都做了很多方便的扩展和延伸,推荐了解。
  • Guava包含了被Google的Java项目广泛依赖的核心库,有集合 [collections]、缓存 [caching]、原生类型支持 [primitives support]、并发库 [concurrency libraries]、通用注解 [common annotations]、字符串处理 ...
  • Google Guava使用总结

    2021-02-02 16:24:12
    Guava Guava简介 Java类库中有不少难用的典型,...Guava依赖引入: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>20.0</
  • Guava没有向后兼容,由其第三库再依赖guava后,极易再项目里造成jar冲突,真实头疼。不过方法总比困难多。  以下解决方案是在引用的不同第三方包所依赖Guava冲突背景下进行的。如果你可以简单的通过排除Guava包...
  • /** @author xxx @date 2018/9/6 9:50 */ @RunWith(SpringRunner.class) @SpringBootTest public class TestGuava { @Test public void test() { Stream stream1 = Stream.iterate(10, n -> n + 2).limit(3);...
  • b**d向课程作业中提交了代码y**4在课程中提出了问题:提交上去了看样子没...p**a评论了:双精度浮点类变量请...七向课程作业中提交了代码t**1评论了:还有没有关于APP的...b**f评论了:大佬厉...c**e完成了课程的...
  • com.google.common guava 18.0 JAR包

    千次下载 热门讨论 2015-04-29 11:50:32
    Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...
  • Maven项目中引入Guava

    万次阅读 2018-07-17 11:03:46
    &lt;dependency&gt; &lt;groupId&gt;com.google.guava&lt;/groupId&gt; ...guava&lt;/artifactId&gt; &lt;version&gt;18.0&lt;/version&gt; &
  • GUAVA的使用总结

    2021-11-03 11:39:36
    参考文章: 开始Guava | ProcessOn免费在线作图,在线流程图,在线思维导图 |ProcessOn免费在线作图,在线流程图,在线思维导图 | Getting Started with Google Guava开始Guavahttps://......
  • guava引入与使用

    千次阅读 2020-10-15 09:52:36
    其实我用guava差不多大半年时间了,发现guava真的特别好用,又会使代码变得很简洁,最近又系统的学习了一下,大致讲一下???? 什么是guava呢? guava就是类库,是java api的增强与...--guava依赖--> <...
  • SpringBoot + Springmvc集成guava

    千次阅读 2019-03-02 16:21:05
    一、添加依赖 &lt;dependency&gt; &lt;groupId&gt;com.google.guava&lt;/groupId&gt; &lt;artifactId&gt;guava&lt;/artifactId&gt; &lt;version&gt;18.0&...
  • 参考文章地址:Google Guava官方教程(中文版)
  • Guava

    千次阅读 2018-07-10 18:20:10
    guava是google开发的一套工具jar库。这个库可以方便编码,减少编码错误,让你的代码变得更加优雅。Optionalcom.google.common.base.OptionalGuava设计Optional来解决null问题,Optional&lt;T&gt;表示可能为...
  • } 感觉这里使用了stringbuffer就没问题了吧,然后hery对我说代码还可以压缩,我就看了下apache的StringUtils这个类和google的guava包下 的Joiner这个类。我才发现这样的工具包真的好强大,封装了好多功能,学习是...
  • Maven项目中如何引入Guava

    千次阅读 2019-06-12 16:56:52
    <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version> &l...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,888
精华内容 7,555
关键字:

guava依赖