未设置Bootstrap类路径

时间:2014-07-03 14:06:49

标签: java maven java-7 building

我刚刚将java升级到1.7.0_60。我正在使用maven来构建我的组件。当我尝试在组件上运行mvn test时,我收到此错误消息 -

[INFO] Compilation failure could not parse error message: warning: [options] bootstrap class path not set in conjunction with -source 1.5

我认为它可能与tools.jar有关,并在pom.xml

中明确提到它们
    <dependency>
        <groupId>com.sun</groupId>
        <artifactId>tools</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>C:\Program Files\Java\jdk1.7.0_60\lib\tools.jar</systemPath>
    </dependency>

但我仍然遇到同样的问题。为了摆脱这个我该怎么做以及怎么做呢?

1 个答案:

答案 0 :(得分:1)

您正在编译Java源代码1.5,但您正在使用JDK 7进行编译。这意味着编译器使用Java 7类库链接代码,这可能会在运行时导致问题。

例如,如果您的代码使用Long.compare(long, long)方法,即使您将目标设置为1.5,编译也会成功,因为在编译时编译器会检查Long类(来自Java) 7类库并且看到是的,确实存在Long.compare(long, long)方法。但是,当您尝试在Java 1.5上运行此代码时,它将失败,因为Java 1.5没有Long.compare(long, long)方法。

基本上,编译器警告您声称此代码符合Java 1.5,但您编译的Java类库可能包含Java 1.5中实际不存在的方法