我对一些特定于 Java 或 NetBeans 的术语感到窒息,而且我似乎无法明确回答它们是什么。
在 NetBeans 中,如果您转到"file">>“项目属性”,则会有一个名为库 的类别,其中主要包含 3 种不同类型的库:
(1) 编译时库 (2) Processor-Path库和 (3) 运行库
有人可以向我解释这些库之间的细微差别吗?显然,编译时库和运行时库分别涉及编译时或运行时发生的事情。但我不确定那些“东西”是什么。但是处理器路径库是我从未听说过的东西。
此外,(4) 有人可以澄清一下,我们所说的“库”是指第 3 方 JAR 吗?
感谢您提供的所有见解!
最佳答案
Libraries 属性的 UI 和术语有点困惑。
当我查看最近的 NetBeans 每晚构建时,对话框上的“帮助”按钮确实对各种“类型”的库进行了很好的描述。
不过,我确实想更深入地了解编译库和运行库之间的区别。
编译时库用于在编译时解析符号等,同时将 Java 代码转换为类。
运行时库用于支持程序的实际执行。
编译时库列表可以是运行时库列表的子集,因为您可能依赖于库 A,而库 A 又依赖于库 B,而库 B 未暴露给 A 的客户端。如果满足以下条件,您的代码将正确编译A 在编译时库列表中,但当您尝试在运行时库列表中没有 B 的情况下运行它时,它会触发 ClassNotFoundException。
在库属性编辑器的上下文中,库可以是:
- 一个 jar 文件,
- 一个目录,
- NetBeans 库(打开库管理器 对话框 [Tools->Libraries] 找出 更多),或
- NetBeans IDE 项目
关于java - NetBeans 库类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4876744/