我正在为我的项目将java版本从6升级到7。它曾经用java 6编译得很好。
@Provides
VptchProvIntf provideVptchProv(NeVersion neVersion, Provider<ClVptchProv> classicProvider, Provider<RsVptchProv> rsProvider)
{
return (VptchProvIntf)provideForPlatform(neVersion, classicProvider, rsProvider);
}
@Provides
StsnVcnProvIntf provideVptchProv(NeVersion neVersion, Provider<ClStsnVcnProv> classicProvider, Provider<RsStsnVcnProv> rsProvider)
{
return (StsnVcnProvIntf)provideForPlatform(neVersion, classicProvider, rsProvider);
}
这是来自解编译类的快照。类型没有被编译器擦除,代码编译得很好。
但是在java升级到版本7之后,此代码已经开始提供编译错误
错误:名称冲突:provideVptchProv(NeVersion,Provider,Provider)和provideVptchProv(NeVersion,Provider,Provider)具有相同的擦除
Java 7改变了任何不允许Guice工作的东西。
注意:Google Guice版本为2.0
我是否需要更新Guice或是否有解决方法?