【发布时间】:2017-06-28 16:22:58
【问题描述】:
我试图通过使用内置的 java.util.logging 功能来改进我的 HTTP 连接的日志记录。但是在插入一行以激活代码中的日志记录后,我在我的 ant 构建中遇到了一个我不理解的错误。
error: package sun.util.logging does not exist
import sun.util.logging.PlatformLogger;
^
sun.util.logging.PlatformLogger 位于 rt.jar 中,据我所知,它应该始终位于类路径中。而且它不是在编译期间会引发警告的“内部 API”。该代码在 Eclipse 中运行良好。
Ant 和我的 Eclipse 项目一样在 JDK 1.8.0_60 上运行。我希望它使用该安装中的 rt.jar。为什么它不能访问某些选择的类?还是我查看了错误的核心类集,而 javac 任务正在使用不同的 rt.jar?
旁注:我知道我可以使用日志记录属性来设置它。这不是这个问题的重点。我想知道为什么 ant 会遇到 Eclipse 没有的问题。
【问题讨论】:
-
我开始认为“某人”在我的 Eclipse 工作区中删除了对 rt.jar 的所有访问限制,而且我一开始就不应该能够访问
PlatformLogger。但是问题依然存在,javac怎么知道哪些类可能不被代码引用? -
Eclipse 不使用
javac。他们有自己的编译器。