標準のMavenディレクトリ構造を使用してセットアップされているプロジェクトで作業しているので、 "resources"というフォルダがあり、この中に "fonts"というフォルダを作成してファイルを入れました。私が使用しているオブジェクトに完全なString
ファイルパス(私のプロジェクト構造内にあるファイルの、resources/fonts/somefont.ttf
)を以下のようにサードパーティのライブラリから渡す必要があります。これをしばらく検索しましたこれを行う適切な方法について少し混乱してきました。私は以下のように試しましたが、それを見つけることができません。私はResourceBundle
を使用して見ましたが、それは実際のFile
オブジェクトを作成する必要があるように見えました。私はパスを以下のようなメソッドに渡す必要があります(私の目の前で実際のメソッド呼び出しをしないでください。メモリ):Java(maven web app)、resourcesフォルダ内のファイルの完全なファイルパスを取得していますか?
FontFactory.somemethod("resources/fonts/somefont.ttf");
私は方法は、クラス/パッケージから完全な相対パスを使用することなく、リソースフォルダからファイルを取得するための標準的なMavenのディレクトリ構造を持つプロジェクトで、あったと思っていました。これに関するアドバイスは大歓迎です。
プロジェクトで作業している開発者が異なるため、ハードコードされたパスを使用したくないため、これをプロジェクトの一部として組み込み、プロジェクトソースをチェックアウトしたときに直接取得するようにしたい。
これは、Webアプリケーション(Strutsの1.3アプリ)用であり、私は(私はTomcatを経由のオフプロジェクトを実行しています)展開WARファイルに見たときに、ファイルがである:
<Exploded war dir>/resources/fonts/somefont.ttf
ResourceBundleからFileオブジェクトを取得し、File.getAbsolutePath()を使用してFontFactory.somemodod()に渡すと何が問題になりますか? (展開時にWARが展開されない場合、Fileオブジェクトを取得することは保証されていないことに注意してください。) – BobG
おそらく何も間違っています:)ありがとう、私は 'ResourceBundle'に精通していないので、これがうまくいくとは分かりませんでした。チップのおかげで。 – Rick
実際に私が使った疑似コードを投稿しましょう成功すると以下のようになります - ResourceBundleではわかりませんが、Resource(Spring以外)が動作します: – BobG