-source 1.3不支持generics

我在maven包装时遇到问题。 在这段代码中:

public class LoginDialog extends Dialog { private final TextField customer; ^here private final TextField login1; private final TextField 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中添加了generics。 你的maven正在编译java 1.3。

这可以通过两种方式之一来修复。

删除generics,以便您可以编译<1.5

更改maven配置以编译更新版本的java。 你应该能够在你的pom中编辑你的编译器插件:

   org.apache.maven.plugins maven-compiler-plugin 3.0  1.5 1.5   

这告诉maven编译为1.5

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

   org.apache.maven.plugins maven-compiler-plugin  1.7 1.7    

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

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

 private final TextField customer; 

generics仅作为Java 5中的一个特性引入,因此在使用3进行编译时,不允许使用generics。 如果您想了解有关generics的更多信息,请查看此处 。 因此,您需要使用5或更高版本进行编译或停止使用generics。