繁体   English   中英

-source 1.3不支持泛型

[英]generics are not supported in -source 1.3

我在进行Maven包装时遇到问题。 在此代码中:

public class LoginDialog extends Dialog {

    private final TextField<String> customer;
                          ^here
    private final TextField<String> login1;
    private final TextField<String> password1;
    private final MainController controller= new MainController();
    private String customerId;
    private String login;
    private String password;

我有类似的错误:

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
...src/main/java/com/messagedna/web/client/widget/LoginDialog.java:[19,27] error: generics are not supported in -source 1.3

这可能是什么原因?

泛型是在Java 1.5中添加的。 您的maven正在针对Java 1.3进行编译。

这可以通过以下两种方法之一来解决。

删除泛型,以便您可以编译<1.5

更改Maven配置,以针对Java的较新版本进行编译。 您应该可以在pom中编辑编译器插件:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.0</version>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>

这告诉Maven为1.5编译

您需要告诉Maven编译器插件您的代码正在使用最新的Java版本。 例如,如果您使用的是Java 7,请执行以下操作:

<plugins>
   <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <configuration>
       <source>1.7</source>
       <target>1.7</target>
     </configuration>
   </plugin>
</plugins>

使用-source 1.3编译代码时,编译器不支持JDK 1.3之后引入的断言,泛型或其他语言功能。

您要么需要更改设置,以便将源设置为1.5+,要么从代码中删除泛型:

private final TextField customer;

泛型仅在Java 5中作为功能引入,因此在使用3进行编译时,将不允许泛型。 如果您需要有关泛型的更多信息,请参见此处 因此,您需要使用5或更高版本进行编译,或者停止使用泛型。

Android Studio:通过在文件应用程序build.gradle中添加以下这些行来修复

compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }

注意:使用最新的Java版本,这里我使用的是Java 8

如果您不使用maven并在Intellij编辑器中遇到类似问题,则可能值得检查“项目设置”。 即使定义了正确的JDK,也可以更改“项目语言级别”,并且可以配置5以上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM