-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。