我使用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
錯誤是不夠的;顯示產生它們的代碼。 –