コマンド ライン デプロイメントで 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 サイトの他の関連記事を参照してください。