【发布时间】:2016-04-12 18:14:39
【问题描述】:
我使用 Eclipse
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 类并保存它就可以了(没有编译错误)。
我真的不知道是什么问题。
我在 Eclipse 中遇到的错误
Syntax error on token "package", assert expected
Syntax error on token "import", throw expected
作为父 pom,我使用版本为 1.3.3-RELEASE 的 spring-boot-starter-parent 我还指定了我知道的所有属性,例如 java.version、maven.compiler.source/target 和项目构建源和输出编码。还尝试定义 maven 编译器插件。没有帮助。
提供代码示例
package com.test;
public class AExample {
public static void main(String[] args) {
System.out.println(args.length);
}
}
看起来它完全依赖于我将课程放入的包。 对于某些软件包,它只是正常编译,有些软件包有以下错误
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 插件(随 eclipse 或至少随 wtp 包一起提供),旧的插件在新版本中表现得很奇怪。您是否检查过您的工作场所属性:Java > JRE 是 Java 8?
-
是的,它的 me2 插件,是的,我确保使用了 1.8。在 java -> jre 和 java -> eclipse 中的编译器
-
错误还不够;显示产生它们的代码。
-
就我而言,另一个文件中存在未解决的冲突。显然,在依赖文件中出现某些类型的编译错误后,eclipse-mars 和/或 java8 eclipse 编译器无法以有意义的方式编译/构建其他文件,而是为无法构建的文件发出看似乱码的错误到坏的依赖。
-
@ Richard Sitze ...是的,这就是我检查并解决了其他问题的问题。在此之后,错误消失。真的很奇怪......谢谢。如果您作为 Anweser 给出,我可以接受答案吗?!