11

因此,我在系统上安装了多个版本的 Java(1.7 和 1.6)。我需要使用 1.6,因此,在 Ubuntu 上,我做了一个 update-alternatives --config java 并将其更改为 1.6。现在 java -version 告诉我我使用的是 1.6。

所以,我正在尝试使用 Maven 构建。如果我执行 mvn clean install,最终会出现以下错误:

[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,但我似乎找不到非常明确的说明。

谁能指导我解决错误?

4

2 回答 2

10

将 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

于 2013-09-10T08:28:54.313 回答
2

如果您使用的是版本 6 以外的 JDK,则可能只会出现“引导类路径”错误。正如您所说的要使用 JDK 6,并且您似乎使用的是其他版本,您应该首先更改它。除此之外,您的问题将与以下内容重复: 警告:[options] bootstrap class path not set with -source 1.5

于 2014-03-03T07:29:20.697 回答