Java -源代码1.3中不支持泛型
我在maven打包时遇到问题。在此代码中:Java -源代码1.3中不支持泛型,java,gwt,maven,Java,Gwt,Maven,我在maven打包时遇到问题。在此代码中: public class LoginDialog extends Dialog { private final TextField<String> customer; ^here private final TextField<String> login1; private final TextField<String> password1
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;
原因可能是什么?您需要更改设置,以便将源代码设置为1.5+,或者从代码中删除泛型:
private final TextField customer;
使用
-source 1.3
编译代码时,编译器不支持JDK 1.3之后引入的断言、泛型或其他语言功能。泛型是在java 1.5中添加的。您的maven正在为Java1.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>
org.apache.maven.plugins
maven编译器插件
3
1.5
1.5
这告诉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>
org.apache.maven.plugins
maven编译器插件
1.7
1.7
泛型仅作为Java 5中的一项功能引入,因此在使用3编译时,不允许使用泛型。如果你想了解更多关于泛型的信息,请查看。因此,您需要使用5或更高版本进行编译,或者停止使用泛型。Android studio:它通过在app build.gradle文件中添加以下行进行修复
编译选项{
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
注意:使用最新的java版本,这里我使用的是java 8,如果您不使用maven,并且在Intellij编辑器中面临类似问题,可能值得检查项目设置。
即使您定义了正确的JDK,也可以更改“项目语言级别”并配置5。有趣的事实:JDK 1.3在5月8日将满13岁!我不明白为什么是JDK1.3。据我所知,在使用mavenMaven创建应用程序时,我甚至没有想到会出现这种情况。mavenMaven应该至少默认为1.4甚至1.5。试试这个命令,mvn--version它给出了什么?给你:
ApacheMaven 2.2.1(rdebian-8)Java版本:1.6.0_27
Hmm,这很奇怪。我想有人已经将您的pom.xml配置为指向1.3。我看不到任何其他解释为什么它会这样编译。
<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>