2012-01-26 3 views
0

既存のライブラリを使用してクラスパススキャンを行いたい。 extcosは、JBossのVFSをそのままの状態でサポートしているため、良い候補に思えます。クラス名パターンに一致するクラスを読み取るにはどうすればいいですか?

はそれがextcos(または他のいくつかのクラスパスのスキャンツール)を実行し、その

  • FSをベースに、JARをベースとJBossのVFSのベースクラスパスは、特定のパターンにマッチする
  • とクラスだけをサポートしていることは可能です(com.example.*.entityなど)がロードされていますか?

最初の前提条件は既にextcosで満たされているようですが、2番目の要件を取得できません。 com.exampleパッケージに奇妙なクラスがあり、ロードしようと思っていなくても試してみることもできます。

答えて

0

私はSpringのアプリケーションコンテキストクラスのパススキャン(リソースローディング)機能を使用することにしました。これは、少なくともFS(ファイルシステム)とJarベースのクラスパスをそのまま扱います。

JBoss 5以降では、Snowdropのアプリケーションコンテキスト実装を使用して、アプリケーションに透過的にVFSサポートを追加します。

私はパターンによってリソースの読み込みを使用しているので、私はパッケージのフィルタリングを取得し、クラス名も自由にフィルタリングします。

1

extcos(Extensible Component Scanner、http://extcos.sf.net)について:最初のものはあなたの言葉通りにサポートされていますが、現時点では2番目のものはありません。しかし、これは良いアイデアなので、これを追加する機能と見なします。

+0

アイデアが実装された場合、これは答えとしては良いでしょう:)私の(非常に予備的な)テストでは、extcosがパフォーマンスを低下させるまで、おそらく私はクラスパスでたくさんのjarファイルを持っていたでしょう。 –

+0

バージョン0.4bのextcosがリリースされたばかりです。この新しいバージョンでは、実際にはパッケージ名にワイルドカードが含まれています。詳細については、[新しいユーザーマニュアル](http://sourceforge.net/projects/extcos/files/releases/0.4b/extcos-0.4b-userManual.pdf/download)を参照してください。 –

関連する問題