2013-08-27 98 views
10

因此,我在系統上安裝了多個版本的Java(1.7和1.6)。我需要使用1.6,因此,在Ubuntu上,我執行了update-alternatives -config java並將其更改爲1.6。現在,java -version告訴我我正在使用1.6。Java/Maven/Tomcat:引導類路徑未與-source 1.6一起設置

所以,我試圖用Maven構建。如果我做了MVN全新安裝,我結束了以下錯誤:

[ERROR] bootstrap class path not set in conjunction with -source 1.6 
/path/to/SomeResultSetStub.java:[32,7] error: SomeResultSetStub is not abstract and does not override abstract method <T>getObject(String,Class<T>) in ResultSet 

我做了一些尋找一個錯誤,而且好像我需要設置某種BOOTCLASSPATH的地方,但我不能似乎找到了非常明確的指示。

任何人都可以指導我解決錯誤?

+0

A先生,你有沒有想過這個問題呢? – AndyPerlitch

回答

9

當結合使用javac與-source你需要指定引導類路徑,以確保在1.6 JVM上運行的編譯代碼時沒有出現運行時錯誤...

public class Main { 
    public static void main(String[] args) { 
     System.out.println("Hello World!"); 
    } 
} 

$ javac -target 1.7 -source 1.7 Main.java 
$ javac -target 1.6 -source 1.6 Main.java 
warning: [options] bootstrap class path not set in conjunction with -source 1.6 
1 warning 
$ javac -Xbootclasspath:/usr/java/jdk1.6.0_29/jre/lib/rt.jar -target 1.6 -source 1.6 Main.java 
$ javac -Xbootclasspath:/usr/java/jdk1.5.0_22/jre/lib/rt.jar -target 1.5 -source 1.5 Main.java 
$ javac -Xbootclasspath:/usr/java/jdk1.4.0_30/jre/lib/rt.jar -target 1.4 -source 1.4 Main.java 
$ javac -Xbootclasspath:/usr/java/jdk1.3.1_29/jre/lib/rt.jar -target 1.3 -source 1.3 Main.java 
$ javac -Xbootclasspath:/usr/java/jdk1.2.2_017/jre/lib/rt.jar -target 1.2 -source 1.2 Main.java 
$ javac -Xbootclasspath:/usr/java/jdk1.1.8_16/jre/lib/rt.jar -target 1.1 -source 1.2 Main.java 
$ javac -Xbootclasspath:/usr/java/jdk1.1.8_16/jre/lib/rt.jar -target 1.1 -source 1.1 Main.java 
javac: invalid source release: 1.1 
Usage: javac 
use -help for a list of possible options 
$ javac -Xbootclasspath:/usr/java/jdk1.1.8_16/jre/lib/rt.jar -target 1.0 -source 1.0 Main.java 
javac: invalid target release: 1.0 
Usage: javac 
use -help for a list of possible options 

更多信息請參見http://vanillajava.blogspot.nl/2012/02/using-java-7-to-target-much-older-jvms.html

+1

A先生問'mvn clean install'發生了這種情況,而不是直接運行javac命令 – AndyPerlitch