我得到';对多值DhashMap的引用不明确';在使用Maven编译后尝试运行Java项目时
受影响的线路包括:我得到';对多值DhashMap的引用不明确';在使用Maven编译后尝试运行Java项目时,java,maven,java-8,Java,Maven,Java 8,受影响的线路包括: MultivaluedMap<String, String> params = new MultivaluedHashMap<>(uriInfo.getQueryParameters(false)); MultivaluedMap params=新的MultivaluedHashMap(uriInfo.getQueryParameters(false)); GetQueryParameters是接口方法: MultivaluedMap<Str
MultivaluedMap<String, String> params = new MultivaluedHashMap<>(uriInfo.getQueryParameters(false));
MultivaluedMap params=新的MultivaluedHashMap(uriInfo.getQueryParameters(false));
GetQueryParameters是接口方法:
MultivaluedMap<String, String> getQueryParameters(boolean var1);
多值Map getQueryParameters(布尔变量1);
错误:
错误:(61,49)java:对多值DhashMap的引用不明确
javax.ws.rs.core.MultivaluedHashMap中的构造函数MultivaluedHashMap(javax.ws.rs.core.MultivaluedHashMap)和javax.ws.rs.core.MultivaluedHashMap中的构造函数MultivaluedHashMap(java.util.Map)都匹配
你的URL信息是如何声明的?我怀疑这就是问题所在。代码在我看来是正确的-多值映射是一个映射,因此它不应该与获取映射的构造函数相匹配,因为在我自己尝试了这个之后,人们会期望得到一个映射(在我的测试中,解析可以很好地工作,没有歧义),我认为@PerHuss是正确的-检查您的有效依赖关系,看看您是否有一些古老的(预泛型)类路径中类的版本。运行
mvn dependency:tree-Dverbose
并共享结果…有趣的是,有两个错误,一个说构造函数不明确,因为两个构造函数都适用,另一个说采用映射的构造函数不适用。但是它可以在Java7和最近的Java9预览(b66和更新版本)下编译。我称之为编译器bug(Eclipse的快速测试显示没有问题),最终会得到修复。在此之前,只需使用新的多值hashmap(uriInfo.getQueryParameters(false))
。