是eclipse还是maven-compiler-plugin错误,泛型类强制转换问题?

| 我有这样的代码:
protected <T> T doSomething(String someParam, Class<T> clazz) {
...
}
我在TestCase类中使用的:
Class clazz = MyClass.class;
MyClass MyClass = someObject.doSomething(someString, clazz);
这段代码在eclipse中给出了警告:   类是原始类型。泛型类型Class的引用应参数化 和   这行有多个标记       -类型安全性:MyClass类型的通用方法doSomething(String,Class)的未经检查的调用doSomething(String,Class)       -类型安全性:Class类型的表达式需要未经检查的转换才能符合Class 当我在Eclipse中运行此代码(测试)时-一切正常。当我通过命令提示符通过“ mvn clean install \”执行此操作时,我得到:   C:\\ pathToProject \\ src \\ test \\ java \\ packagesPath \\ MyTestCase.java:发现[xx,xxx]不兼容的类型:   java.lang.Object   必需:com.somePackagePath.MyClass 但是提供时:
Class<MyClass> clazz = MyClass.class;
MyClass MyClass = someObject.doSomething(someString, clazz);
我没有任何错误或警告。 。 我了解Java编译器会删除类型信息,因此: eclipse是否应该提供编译器错误而不是警告,或者是导致问题的maven-plugin-compiler? Maven插件是:
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <showDeprecation>false</showDeprecation>
                <debug>true</debug>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
亲切的问候, 暴君     
已邀请:
这是Eclipse中的一个已知错误:333011:[compiler] [1.5] Eclipse编译javac拒绝的代码:不兼容的类型。随时为该错误投票,并在其中添加您的用例。 在某些情况下,ѭ4和Eclipse意见不一致,因此您应将其报告为bug。最好有一个尽可能少的Java文件的独立测试用例,可以在Eclipse中将其复制/粘贴并在命令行中使用“ 4”进行编译,而没有任何依赖性。     
您正在使用哪个编译器? 在这种情况下,http://code.google.com/p/jclouds/issues/detail?id = 461上的openjdk似乎揭示了不兼容的类型,而sun jdk忽略了该类型并进行了编译。     
解决方法是在maven中使用eclipse编译器,如在maven构建中使用Eclipse Java编译器(ecj)中所述     

要回复问题请先登录注册