Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用嵌套接口作为泛型类型初始化(在maven中找不到符号错误,但在eclipse中有效)_Java_Maven_Gwt Platform - Fatal编程技术网

Java 使用嵌套接口作为泛型类型初始化(在maven中找不到符号错误,但在eclipse中有效)

Java 使用嵌套接口作为泛型类型初始化(在maven中找不到符号错误,但在eclipse中有效),java,maven,gwt-platform,Java,Maven,Gwt Platform,我有一个奇怪的(或者可能没有)问题。我正在使用MVP框架,并以以下方式定义我的一些类: public class SomePresenter extends Presenter<SomePresenter.MyView, SomePresenter.MyProxy> { public interface MyView extends View {} public interface MyProxy extends Proxy {} } SomePrese

我有一个奇怪的(或者可能没有)问题。我正在使用MVP框架,并以以下方式定义我的一些类:

public class SomePresenter extends 
    Presenter<SomePresenter.MyView, SomePresenter.MyProxy> 
{
    public interface MyView extends View {}
    public interface MyProxy extends Proxy {}
}
SomePresenter扩展的公共类
节目主持人
{
公共接口MyView扩展视图{}
公共接口MyProxy扩展了代理{}
}
在eclipse中,这可以很好地编译(我猜是因为它使用eclipse编译器),但是当我使用maven(OracleJDK7或6)时,
视图
接口会出现一个symbol not found错误

如果我执行以下操作之一,maven的编译效果很好:

  • 将接口放在单独的java文件中
  • 视图的导入语句移动到导入列表的顶部

在oracle java编译器中使用嵌套接口作为泛型类型是否存在已知问题?

我认为oracle编译器没有问题,但只是为了确保您可以尝试在Eclipse中使用它

更可能的是,我认为这是一个依赖性问题-请给我们看你的POM文件?此外,在具体的编译错误复制

View
接口是在
com.gwtplatform:gwtp mvp client
工件中定义的,它应该在那里的某个地方。您说,如果将视图
import移到导入列表的顶部,它就可以工作了——在那里是否还有另一个
View`可能需要删除(在Eclipse中,Ctrl-Shift-O表示“优化导入”很方便)


干杯,

在您的POM中尝试此功能。关键部分是依赖部分。它将使用eclipse编译器

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <compilerArgument>-proc:none</compilerArgument>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-compiler-eclipse</artifactId>
            <version>1.8.2</version>
        </dependency>
    </dependencies>
</plugin>

org.apache.maven.plugins
maven编译器插件
2.3.2
1.6
1.6
-过程:无
org.codehaus.plexus
plexus编译器eclipse
1.8.2

相关性很好。我检查了
mvn依赖项:tree
。我使用Ctrl-Shift-O来组织导入,这将视图的导入移到了底部,我再次遇到编译错误。当我再次手动向上移动导入时,maven可以正常工作。我必须尝试在eclipse中使用普通java编译器来检查它是否与编译器相关。谢谢你的建议。我尝试了这个,不幸的是,我得到了与普通sun/oracle编译器相同的错误。也许eclipse(我使用的是Juno)使用的是一个可以处理这些循环依赖关系的旧编译器。