组件库是一组相关的 JavaServer Faces 组件,您可以将这些组件一起打包到一个 complib 文件中来进行分发,然后将其导入具有 Visual Web JSF 支持的项目中以便使用。complib 文件是一种 JAR 文件,其扩展名为 .complib,而不是 .jar。该文件包含了这些组件本身及其包装在 JAR 文件中的设计时 JavaBeans 对象,此外还包含了其他项,如源代码 ZIP 文件、Javadoc ZIP 文件以及在运行时和设计时使用的其他 JAR 文件。complib 文件还包含了一个逻辑目录。它实际上是由多个文件构成的,用于提供有关组件库的信息并列出其内容。complib 文件类似于 WAR 文件,因为它包含其他 JAR 文件、内容文件以及有关其内容的 meta 数据。
每个组件库都有一个名称空间 URI 和用于标识组件集合的版本号(由三位数字构成)。此外,complib 还指定了与其组件兼容的 J2EE 技术版本,目前提供的版本为 J2EE 1.4 或 Java EE 5,如果未指定任何版本,则 J2EE 1.4 为缺省版本。组件开发者可以使用一组 Java 包来发行组件,并将这些组件与组件库名称空间及版本号关联。以后每次发行这些组件时,可以使用相同的名称空间,但必须采用不同的版本号来标识每个发行版本。通过采用这种设计,IDE 可以防止在同一项目中使用相同 Java 包的两个不同组件代码版本;此外,这种设计还对具有 Visual Web JSF 支持的项目提供更新和替换功能支持。
通过组件库管理器,可以将 complib 文件导入到 IDE 中。导入 complib 文件时,其内容将被展开并放在 IDE 用户 home 目录下面的 .netbeans 目录中。这样您便可以将组件库添加到项目中,如导入组件中所述。将库添加到项目后,系统会将组件库内容复制到该项目的目录中,并且 IDE 会将新复制的组件库中的 JAR 文件添加到项目的类路径中。通过将组件库内容复制到项目中,该项目可以成为自包含项目,从而可以包装该项目并将其提供给其他开发者。
当 IDE 在项目中嵌入组件库时,系统会将其内容存储在项目的 lib/complibs 子目录下,并在 index.xml 文件中保存项目的所有组件库的列表。项目组件库是基于 IDE 库基元实现的。在 IDE 中,库定义是通过库管理器进行管理的,它们是存储在 .netbeans 目录中的全局资源。库引用是通过的“项目属性”对话框进行管理的,它们是每个项目指向库定义的资源。在项目中使用组件库时,IDE 将自动管理库定义和库引用。如果要从 IDE 中删除库,则必须通过组件库管理器删除库。如果您不准备在项目中继续使用这些组件,则必须单独从项目的“组件库”节点中删除该库,然后清除可能仍存在于项目中的这些所有库组件。