我窒息了一些特定于Java或NetBeans的术语,我似乎无法得到关于它们是什么的明确答案。
在NetBeans中,如果您转到文件>> Project Properties有一个名为 Libraries 的类别,主要包含3种不同类型的库:
(1)编译时库 (2)处理器 - 路径库和 (3)运行时库
有人可以向我解释这些图书馆之间的细微差别吗?显然,编译时和运行时库分别涉及在编译或运行时发生的事情。但我不确定那些“东西”是什么。但处理器路径库是我从未听说过的。
此外,(4)有人可以通过“图书馆”澄清我们在谈论第三方JAR吗?
感谢您的所有见解!
答案 0 :(得分:2)
Libraries属性的UI和术语有点令人困惑。
当我查看最近每晚构建的NetBeans时,对话框上的“帮助”按钮确实可以很好地描述各种“类型”的库。
但我想提供一些关于Compile和Run库之间区别的更多信息。
在编译时使用编译时库来解析符号等,同时将Java代码转换为类。
运行时库用于支持程序的实际执行。
编译时库列表可以是运行时库列表的子集,因为您可能依赖于库A,该库依赖于未向A的客户端公开的库B.如果代码将正确编译,则A位于编译时库列表中,但是当您尝试在运行时库列表中运行而没有B时,它将触发ClassNotFoundException。
在Libraries属性编辑器的上下文中,库可以是:
答案 1 :(得分:1)
(1) - (3):Compile-time vs Runtime libraries
(2):apparently,这用于注释:
指定在何处查找注释处理器;如果未给出此选项,则会在类路径中搜索处理器
(4):是的,我们正在讨论第三方JAR