我正在使用 NetBeans 6.5 IDE (Build 090226) 和 Maven (4.0.5) 在 Fedora 系统上使用 Java (1.6.0_06) 开发 Java 软件。
我正在对一些遗留代码进行更新,我想为它构建一个测试(使用 JUnit)。该代码用于 Java 1.5。为了以最快、最简单的方式提供测试数据,我想通过扩展 ResultSet 接口来实现一个简单的模拟数据集。问题是,尽管我的项目设置为使用 JDK 1.5 构建和测试:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<fork>true</fork>
<executable>/usr/java/jdk1.5.0_14/bin/javac</executable>
<compilerVersion>1.5</compilerVersion>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- snip some non-jvm configuration -->
<jvm>/usr/java/jdk1.5.0_14/bin/java</jvm>
<forkMode>once</forkMode>
</configuration>
</plugin>
编辑器仍然想让我的类抽象,因为它认为我缺少 Java 1.6 ResultSet 中存在的方法,但这些方法使用 Java 1.5 中不存在的类(NClob 和 RowId 和 SQLXML)。
我的编译器插件似乎设置正确——我可以成功构建和运行这个 JUnit 测试,但是我的整个源代码树都显示错误图标(有效地掩盖了任何真正的错误)。如果我在 ResultSet 导入语句中使用“Go To Source”函数(或“Go To Declaration”),它会将我带到 Java 1.6 源 zip,但在方法上会响应“无法在此处执行 Go To Source”。
我错过了什么?如何让 NetBeans 编辑器窗口识别此代码使用 1.5 JDK,而不是 JDK NetBeans 启动?
TIA,伊莱恩