我使用Eclipse的Maven的Eclipse和火星编译Java 1.8的错误
Version: Mars.2 Release (4.5.2)
Build id: 20160218-0600
和Maven(MVN -v)
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37+02:00)
Maven home: C:\Daten\maven
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_60\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
我的%JAVA_HOME%设定为
C:\Program Files\Java\jdk1.8.0_60
和我的java是(java -version)
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
我使用-vm(java jdk版本)运行eclipse,并在eclipse中添加了外部maven安装。在我导入了一个项目并获得束缚行为之后。有些课程在eclispe中是红色的,有些则不是。我使用javap -version进行了检查,并且它们都使用主版本52进行编译。我创建了新的工作空间并获得了相同的结果。很奇怪。如果我用eclipse打开一个“红色”Java类并保存它,它就会变好(没有编译错误)。
我真的不知道是什么问题。
错误我得到了日食
Syntax error on token "package", assert expected
Syntax error on token "import", throw expected
的父POM我用弹簧引导起动父母与版本1.3.3-RELEASE 我还指定了所有我知道像java.version属性, maven.compiler.source/target和项目构建源代码和输出编码。也试图定义maven编译器插件。没有帮助。
提供的代码示例
package com.test;
public class AExample {
public static void main(String[] args) {
System.out.println(args.length);
}
}
它看起来是在包装上完全以dependend我把类英寸 一些包装它只是编译正常一些它有以下误差修改
com.test cannot be resolved to a type AExample.java line 1
Illegal modifier for the local class AExample; only abstract or final is permitted AExample.java line 3
Syntax error on token "package", assert expected AExample.java line 1
Syntax error, insert "ClassBody" to complete ClassDeclaration AExample.java line 3
The nested type AExample cannot hide an enclosing type AExample.java line 3
在不同的包中完全相同的类不会产生该错误。只是在一个特定的包装。任何想法我可以检查?
您是否使用了新的M2E插件(附带日食或至少与wtp包),旧版本在新版本中表现怪异。你有没有检查你的工作场所属性:Java> JRE是Java 8? – Andy
是它的me2插件,是的,我确定使用1.8。在java中 - > jre和java - >在eclipse中编译器 – borehack
错误是不够的;显示产生它们的代码。 –