未使用的方法的 java.lang.NoSuchMethodError

标签 java maven nosuchmethoderror

我是 Maven 的新手,我在运行时遇到 NoSuchMethodError 问题,因为在将我的工作与其他人的工作合并后,我的项目中没有使用任何地方的方法,特别是关于com.google.inject.util.Types.collectionOf

新工作与修复项目的可执行 jar 有关,因此我认为任何修改都与 guice 无关。我的本地存储库包含与我运行该项目的先前版本时完全相同的 guice 和多绑定(bind) jar 版本,并且没有对 pom 文件进行明显更改。

我很熟悉这种错误并且之前已经修复它但是这次我无法弄清楚问题所在。这是我的错误消息的开头:

Exception in thread "main" java.lang.NoSuchMethodError: com.google.inject.util.Types.collectionOf(Ljava/lang/reflect/Type;)Ljava/lang/reflect/ParameterizedType;
    at com.google.inject.multibindings.Multibinder.collectionOfProvidersOf(Multibinder.java:202)
    at com.google.inject.multibindings.Multibinder$RealMultibinder.<init>(Multibinder.java:283)
    at com.google.inject.multibindings.Multibinder$RealMultibinder.<init>(Multibinder.java:258)
    at com.google.inject.multibindings.Multibinder.newRealSetBinder(Multibinder.java:178)
    at com.google.inject.multibindings.Multibinder.newSetBinder(Multibinder.java:132)

最佳答案

这个问题是旧问题,已经在评论中回答了,我也遇到了同样的问题,根据评论,我做了这些事情,我的问题得到了解决。 所以只是为了帮助其他新用户在这里发帖。

当我遇到这个问题时,我对pom的依赖如下。

<dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>4.0</version>
</dependency>

现在在如下添加一个依赖后,它已经解决并且工作正常。

<dependency>
        <groupId>com.google.inject.extensions</groupId>
        <artifactId>guice-multibindings</artifactId>
        <version>4.0</version>
</dependency>

关于未使用的方法的 java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44933551/

相关文章:

java - 部署在 EC2 apache tomcat 上的 War 文件抛出 java.lang.NoSuchMethodError : org. glassfish.hk2.utilities.general.GeneralUtilities.getWeakHashClock

maven - 使用Gradle找不到slf4j LoggerFactory类定义

gradle - Kotlin:测试中的 java.lang.NoSuchMethodError

android-studio - 在膨胀过程中,膨胀 TextView 在方法 addFontWeightStyle() 上抛出 noSuchMethodException

java - JAX RS 获取对象列表

java - 它是一种线程安全机制吗?

maven - sudo 将使用哪个 maven settings.xml 文件?

java - Tomcat 管理器部署位于服务器上的 WAR 文件

java - 使用哪个 servlet-api jar

java - 使用 java 从 Dataproc 读取谷歌云存储时出现 NoSuchMethodError