未使用的方法的java.lang.NoSuchMethodError
我是Maven的新手,我在运行时遇到了一个问题,未使用的方法的java.lang.NoSuchMethodError,java,maven,nosuchmethoderror,Java,Maven,Nosuchmethoderror,我是Maven的新手,我在运行时遇到了一个问题,NoSuchMethodError,因为在将我的工作与其他人的工作合并后,我的项目中没有使用该方法,特别是关于com.google.inject.util.Types.collectionOf 新的工作与修复项目的可执行jar有关,因此我认为任何修改都与guice无关。我的本地repo包含的guice和multibinding jar版本与我运行此项目的上一个版本时完全相同,pom文件没有明显的更改 我很熟悉这种错误,以前也解决过,但这次我无法解决
NoSuchMethodError
,因为在将我的工作与其他人的工作合并后,我的项目中没有使用该方法,特别是关于com.google.inject.util.Types.collectionOf
新的工作与修复项目的可执行jar有关,因此我认为任何修改都与guice无关。我的本地repo包含的guice和multibinding 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)
线程“main”java.lang.NoSuchMethodError中的异常:com.google.inject.util.Types.collectionOf(Ljava/lang/reflect/Type;)Ljava/lang/reflect/ParameterizedType;
在com.google.inject.multibindings.Multibinder.collectionOfProvidersOf(Multibinder.java:202)上
在com.google.inject.multibindings.Multibinder$realmultipbinder.(Multibinder.java:283)
在com.google.inject.multibindings.Multibinder$realmultipbinder.(Multibinder.java:258)
在com.google.inject.multibindings.Multibinder.newrealsbinder(Multibinder.java:178)上
位于com.google.inject.multibindings.Multibinder.newSetBinder(Multibinder.java:132)
这个问题很老,已经在评论中得到了回答,我也面临同样的问题,根据评论,我做了事情,我的问题得到了解决。 为了帮助其他新用户在这里发帖 当我面对这个问题时,我对pom的依赖性如下
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.0</version>
</dependency>
com.google.inject
圭斯
4
现在,在添加了一个依赖项之后,它得到了解决,并且运行良好
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-multibindings</artifactId>
<version>4.0</version>
</dependency>
com.google.inject.extensions
guice多重绑定
4
当一个jar依赖于另一个jar(暂时依赖)时,有时会发生这种情况,如果人们玩得很好,他们就会一起玩。有时候不是。这个特殊的神器是什么?@MaxPower这个神器似乎是guice。似乎guice multibindings需要收集,但我在这个项目的其他版本中从未遇到过这个问题。本地repo中的guice和guice multibindings的版本都是4.1.0。您是否尝试过将这两个版本显式添加到pom.xml中?@MaxPower我刚刚做了这件事,而且效果很好!我原以为在别处将它们声明为依赖项就可以了,但我想不行。非常感谢你!!