javaのgetResourceメソッドについて
2022-02-26 19:28:29
まず、クラスパスとは、コンパイルされたクラスファイルやxml、プロパティなどの設定ファイルが置かれているディレクトリのことである。例えば、mavenプロジェクトであれば、クラスパスは "プロジェクト名/target/classes"、通常のプロジェクトであれば、"プロジェクト名/bin"、または"プロジェクト名/build/classes"プロジェクト名/ビルド/classes" などのようになります。
getResourceはjava.lang.Classのメソッドであり、バイトコードオブジェクトから呼び出されます。
getResource は文字列の引数を取り、それが "/" で始まる場合はクラスパスのルートを探し(サブディレクトリを再帰的に探すことはありません)、それが "/" で始まらない場合は getResource を呼び出したバイトコード・オブジェクトがあるディレクトリを探します(これも再帰的にサブディレクトリを探すことはありません)。
例として
@Test
public void test() {
System.out.println(Test1.class.getResource(""));
System.out.println(Test1.class.getResource("/"));
System.out.println(Test1.class.getResource("Test1.class"));
System.out.println(Test1.class.getResource("/Test1.class"));
}
最初の文では、Test1はcom.trs.javaseの下にあるので、"xxx.com.trs.javase"と出力し、Test2.classから呼ばれると、 "xxx.com.trs.javase. subpackage" と出力されます。
2文目はクラスパスのルートが出力されます。
3番目の文は、Test1.classがあるディレクトリを出力します。
4番目の文では、Test1.classはクラスパスのルートディレクトリにないので、nullを出力します。
結果を出力します。
file:/D:/eclipse-workspace/javase/bin/com/trs/javase/
file:/D:/eclipse-workspace/javase/bin/
file:/D:/eclipse-workspace/javase/bin/com/trs/javase/Test1.class
null
関連
-
Java Error スレッド "AWT-EventQueue-0" で例外発生 java.lang.
-
JSPで「リストが型解決できない!」の解決方法
-
java.security.InvalidAlgorithmParameterException: TrustAnchors パラメータは空であってはなりません 解決策
-
IDEAがGitHubに接続し、認証情報が正しくない401、インバリダの認証データの問題を解決する。
-
SailSoftレポート例外の概要と解決策。
-
JsonMappingException処理方法
-
ideaがサービスを起動すると、レポートが表示されます。コマンドラインが長すぎるエラー
-
Intellij IDEA 実行前エラー コマンドラインが長すぎます。
-
mvn install でローカルリポジトリにアーティファクトが見つかりませんでした。
-
HttpClient リクエスト DefaultHttpClient 時代遅れの代替品
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java の例外が発生しました java
-
ファインバグタイプ
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
java Mail send email smtp is not authenticated by TLS encryption solution.
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
Java言語プログラミング(基礎編)(第10版)練習問題解答編 第7章
-
宣言されたパッケージ XX は、期待されるパッケージ src.main.java.XX と一致しません。
-
java 8 ラムダ式 リスト操作 グループ化、フィルタリング、合計、最多、ソート、重複排除
-
原因: org.apache.maven.plugin.compiler.CompilationFailureException: コンパイルに失敗しました。