ホームページ > Java > &#&チュートリアル > コマンドラインデプロイメントで getClass().getResource() を使用してリソースをロードするにはどうすればよいですか?

コマンドラインデプロイメントで getClass().getResource() を使用してリソースをロードするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-08 00:12:03
オリジナル
1058 人が閲覧しました

How to Load Resources with getClass().getResource() in Command Line Deployments?

コマンド ライン デプロイメントで getClass().getResource() を使用したファイルのロード

getClass().getResource() メソッドにより、リソースのロードが可能になりますクラスパスからのファイル。ただし、コマンド ラインからアプリケーションを実行する場合、現在のクラスパスでリソース ファイルにアクセスできない場合、開発者はヌル ポインタ例外に遭遇する可能性があります。

Eclipse とコマンド ライン

Eclipse では、ビルド中にソース フォルダーとその内容がクラスパスに自動的に追加されます。したがって、Java ファイルと同じフォルダーに配置されたリソース ファイルは、IDE 内からアプリケーションを実行するときに getClass().getResource() を使用してロードできるようになります。

コマンド ライン デプロイメント階層

アプリケーションを JAR ファイルとしてデプロイする場合、またはコマンド ラインから実行する場合は、リソース ファイルを含むようにクラスパスを明示的に構成する必要があります。リソース ファイルがクラスパスにない場合、getClass().getResource() はリソース ファイルを見つけることができません。

getClass().getResource() の正しい使用法

ファイル システムへの依存を避けるために、URI を File オブジェクトに変換する代わりに getClass().getResourceAsStream() を使用することをお勧めします。このメソッドはリソースの InputStream を直接返すため、ファイルがファイル システム上に物理的に存在しない場合でもロードできます。

ClassPath Configuration

リソース ファイルがコマンドラインから実行するときにクラスパスでアクセスできる場合は、JAR ファイル内にパッケージ化するか、クラスパスの一部であるディレクトリに配置する必要があります。 Java コマンドで -classpath オプションを使用する場合は、リソース ファイルを含むディレクトリが含まれていることを確認してください。

結論

コマンド中のクラスパス構成の微妙な違いを理解することで、ライン デプロイメントでは、開発者は getClass().getResource() を使用してリソース ファイルを効果的にロードし、Eclipse 環境の外部でアプリケーションをシームレスに実行できます。

以上がコマンドラインデプロイメントで getClass().getResource() を使用してリソースをロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート