线程“主”java.lang.NoSuchMethodError 中的异常:com.google.common.io.Files.newReaderSupplier(Ljava/io/File;Lja
Posted
技术标签:
【中文标题】线程“主”java.lang.NoSuchMethodError 中的异常:com.google.common.io.Files.newReaderSupplier(Ljava/io/File;Ljava/nio/charset/Charset;)【英文标题】:Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.io.Files.newReaderSupplier(Ljava/io/File;Ljava/nio/charset/Charset;) 【发布时间】:2017-10-20 03:12:55 【问题描述】:我从一个私人图书馆收到以下异常:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.io.Files.newReaderSupplier(Ljava/io/File;Ljava/nio/charset/Charset;)Lcom/google/common/io/InputSupplier;
经过研究,问题似乎出在 google guava jar 上。 我正在使用 google guava jar 版本 17.0 并尝试更改版本。但无法确定可以解决问题的特定 jar 版本。
请帮忙。
【问题讨论】:
你使用 Maven 来组装你的项目吗? yes.maven 构建成功。在 weblogic 12.2.1.2 部署期间出现异常 实际上,Guava 17.0 still has such method,它被标记为已弃用,但仍然存在。运行mvn dependency:tree
并分析输出。我猜你在你的一个 poms 中压倒了依赖。也尝试强制更新mvn clean package -U
【参考方案1】:
问题出在 Weblogic 12c 内部,它在内部添加了 Guava 17.0 jar。因此它忽略了 maven pom.xml 中的 Guava jar。
为了解决这个问题,在 application/war 中添加 weblogic.xml 并提及需要排除的包。
【讨论】:
以上是关于线程“主”java.lang.NoSuchMethodError 中的异常:com.google.common.io.Files.newReaderSupplier(Ljava/io/File;Lja的主要内容,如果未能解决你的问题,请参考以下文章
Android 异步操作Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )