0

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

public class SomePresenter extends 
    Presenter<SomePresenter.MyView, SomePresenter.MyProxy> 
{
    public interface MyView extends View {}
    public interface MyProxy extends Proxy {}
}

在 Eclipse 中,它编译得很好(我猜是因为它使用了 Eclipse 编译器),但是当我使用 maven(oracle jdk7 或 6)时,我得到一个符号未找到接口的错误View

如果我执行以下操作之一,它可以与 maven 一起编译:

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

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

4

2 回答 2

0

在你的 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>
于 2012-11-12T12:50:41.393 回答
0

我认为这不是 Oracle 编译器的问题,只是为了确保您可以尝试在 Eclipse 中使用它?

更有可能的是,我认为这是一个依赖问题 - 请向我们展示您的 POM 文件?另外,复制具体的编译错误。

View接口是在工件中定义的,com.gwtplatform:gwtp-mvp-client它应该在某个地方。您说如果您将 View import to the top of the import list - is there anotherView` 移到您可能需要摆脱的某个地方,它会起作用(Ctrl-Shift-O 用于“优化导入”在 Eclipse 中很方便)。

干杯,

于 2012-11-12T11:13:08.437 回答