我正在处理现在似乎是一个反复出现的问题 . 我的Netbeans环境存在定义的Java平台的问题(很明显,我只有一个定义,当然是默认的),以及它们包含的标准Java库库 .

最初,Java 1.8平台使用的是 C:/Program Files/Java/jdk1.8.0_162 ,并且已经使用了几个月了 . 本周我开始在我的项目中看到奇怪的行为,其中 java.sql.PrepareStatement 类抛出错误 cannot find symbol . 当我在库树中展开 Java 1.8 (Default) > rt.jar > java.sql 时,我仍然可以在项目库中看到 .class 文件 . 但是, java.sql.PreparedStatement 类的任何导入或用法都会引发错误,并且不允许编译代码 .

作为快速修复,我安装了jdk1.8.0_181,并通过更改 C:\Program Files\Netbeans 8.0\etc\netbeans.conf 中的netbeans _jdkhome 变量值将其设置为我的新默认Java平台 . 这使我恢复正常运行,并且能够在昨天和今天早上再次使用 PreparedStatement 对象 . 但是,我现在得到了相同的 cannot find symbol 行为,并且 java.sql.PreparedStatement 类再次不再适当地拉入,因此我的项目不允许我编译或运行我的代码 .

编辑:要明确,这只会影响一个类 . 我能够成功导入其他java . *和java.sql . *类,如下面的截图所示:
enter image description here

编辑2:我确实安装了Netbeans 8.2,并将jdk1.8.0_181定义为唯一/默认的Java平台 . 新版本的IDE允许导入/使用java.sql.PreparedStatement类,而Netbeans 8.0.2仍然会抛出“找不到符号”错误 . 所以,我想在这一点上,我可以假设我的8.0.2安装中存在某些损坏/错误 . 也许我会尝试重新安装该版本的IDE,因为新IDE存在维护旧应用程序(需要低于JDK 6的源/二进制格式)的问题 .