コンポーネントライブラリは、complib ファイルと呼ばれる 1 つのファイルにパッケージ化して配布できる、関連する JavaServer Faces コンポーネントのセットで、Visual Web JSF をサポートするプロジェクトで使用するためにインポートされます。complib ファイルは JAR ファイルの一種で、その拡張子は .jar ではなく .complib です。このファイルには、実行時およびデザイン時に使用するソースコード ZIP ファイル、Javadoc ZIP ファイル、その他の JAR ファイルなどの項目に加え、コンポーネント自身と、JAR ファイル内にパッケージ化されたデザイン時 JavaBeans オブジェクトが含まれています。complib ファイルはまた、内容の論理テーブルも持っています。論理テーブルは物理的に複数のファイルに分割され、コンポーネントライブラリの情報を提供し、その内容をリストします。complib ファイルは、ほかの JAR ファイル、内容ファイル、および内容に関するメタデータを含む点で WAR ファイルと似ています。
各コンポーネントライブラリには、名前空間 URI と、コンポーネントのセットを識別する 3 桁のバージョン番号があります。また、complib は、コンポーネントと互換のある J2EE のテクノロジのバージョンを指定します。現時点では、J2EE 1.4 と Java EE 5 のどちらかですが、特に指定のない場合は J2EE 1.4 がデフォルトになります。コンポーネントの開発者は、一連の Java パッケージを使用してコンポーネントをリリースでき、また、それらをコンポーネントライブラリ名前空間およびバージョン番号に関連付けることができます。各コンポーネントは、その後のリリースでも同じ名前空間を使用できますが、異なるバージョン番号を使用してリリースを特定できます。このデザインによって、1 つのプロジェクト内で、同じ Java パッケージの異なる 2 つのバージョンのコンポーネントコードが使用されるのを防ぐことができます。また、このデザインは、Visual Web JSF をサポートするプロジェクトの更新および置換機能をサポートします。
complib ファイルは、「 コンポーネントライブラリマネージャー 」で、IDE にインポートできます。complib ファイルは、インポートすると、ユーザーのホームディレクトリの下にある、IDE の .netbeans ディレクトリに内容が展開されます。次に、コンポーネントライブラリをプロジェクトに追加します。詳細は、 「コンポーネントのインポート」 を参照してください。ライブラリをプロジェクトに追加すると、コンポーネントライブラリの内容がプロジェクトのディレクトリにコピーされ、IDEは、新しくコピーしたコンポーネントライブラリの JAR ファイルをプロジェクトのクラスパスへ追加します。コンポーネントライブラリの内容をプロジェクトにコピーすると、プロジェクトがそれ自身を含むことになるので、プロジェクトをパッケージ化して別の開発者に渡すことができます。
IDE がコンポーネントライブラリをプロジェクトに埋め込むと、その内容はプロジェクトの lib/complibs サブディレクトリの下に格納され、プロジェクト用のすべてのコンポーネントライブラリの一覧が index.xml ファイルに保存されます。プロジェクトコンポーネントライブラリは、IDE ライブラリプリミティブの最上位に実装されます。IDE では、ライブラリ定義は「ライブラリマネージャー」で管理され、.netbeans ディレクトリに格納されるグローバルリソースです。ライブラリ参照は、「プロジェクトプロパティー」ダイアログで管理され、ライブラリ定義へ移動するためのプロジェクトごとのリソースになります。IDE は、コンポーネントライブラリがプロジェクトで使用されたときに、ライブラリ定義とライブラリ参照の両方を自動的に管理します。IDE からライブラリを削除する場合、「コンポーネントライブラリマネージャー」でライブラリを削除する必要があります。プロジェクトでコンポーネントを使用しなくなった場合、そのライブラリをプロジェクトのコンポーネントライブラリノードから個別に削除して、プロジェクト内に残っているライブラリのコンポーネントを削除する必要があります。