2012-01-18 19 views
0

私は共通の機能を実装するJavaプロジェクトを開発しています。このプロジェクトはいくつかのxsltファイルを使用します。実際に私は、「ファイル/ XSLTを」相対パスを使用してこれらのファイルを開くと、これが(デフォルトのパスは「/」私のファイルシステムの中に「PLACE1」に位置して、このようにして得られたパスは「PLACE1 /ファイル/ XSLT」です)動作します。インポートされたJavaプロジェクトでファイルを読み込む方法は?

私は新しいプロジェクトを作成し、以前のプロジェクトをインポートしてその機能を使用しようとしますが、明らかにこれは機能しません。ライブラリ内で、必要なxsltファイルの相対パスは、 (私のファイルシステムの中に「PLACE2」にあり、このようにして得られたパスは「PLACE2 /ファイル/ XSLT」である)は、第2のプロジェクト。

どうすればこの問題を管理できますか?

答えて

1

xsltファイルをクラス(またはプロジェクトのソースルート)を使用して同じパッケージに入れて、パス "file.xslt"または "/file.xslt"でClass.getResourceAsStreamを使用する - このメソッド指定されたリソースのクラスパスを検索します。

プロジェクトは、(例えばこれらのXSLTファイルなど)のリソースを内蔵している。この方法は、* .classファイルを適切なディレクトリにコピーし、それに応じてjarファイルに配置されます。 MyClassクラスとファイル1.xsltは、同じパッケージに含まれています。例えば

InputStream xsltIn = MyClass.class.getResourceAsStream ("1.xslt");

とファイル2.xsltは、ソースのルートにある場合(無名パッケージデフォルト):

InputStream xsltIn = MyClass.class.getResourceAsStream ("/2.xslt");
関連する問題