ホームページ  >  記事  >  Java  >  Javaリソースのパス配置の詳細説明

Javaリソースのパス配置の詳細説明

黄舟
黄舟オリジナル
2017-03-17 10:22:192197ブラウズ

この記事では、主に Java リソースパスの並べ替えと概要を紹介します。必要な方は、

Java リソース パス

を参照してください。まず、これは非常に重要です。 Java. さまざまな相対パス パスからリソースを取得する方法は、特定のルールに基づいて絶対パスに変換されます

絶対パスを直接使用しないことも非常に重要です。そうでないと醜くなります

。リソース パスの問題は 1 点に要約されます。つまり、特定の環境 (Web、j2ee、jar パッケージなど) で適切な方法で安定したベース ポイントを見つけることです。 , そして、この基点を使用して必要なリソースを見つけます

Java の基点はどれですか?大まかに要約すると、次のとおりです。

1) クラスパス

探しているリソースがクラスパスの下にある場合、これを取得する主な方法はクラスパスを使用する方が適切です。基点は ClassLoader を介して行われます。具体的なメソッドは ClassLoader.getResource(String name) であり、ClassLoader を取得するには、次のようなさまざまな方法があります。
clazz.getClassLoader()

  1. ClassLoader()

  2. リソースを見つけるための ClassLoader の実装原則は、まず親 classLoader のクラスパスからリソースを
  3. 再帰的に
  4. ロードすることです (JDK をロードする方法)最後はオープンソースではありません)、すべてのレベルの classLoader が見つからない場合、findResource メソッドが Find it と呼ばれ、このメソッドは実装のために自作の classLoader に公開されるため、クラスパスの外にリソースをロードする機会が与えられます。


    2) 現在のユーザー ディレクトリ

は、 System.getProperty("user.dir" ) によって返されるパスに対する相対パスです。一般的なプロジェクトの場合、これはプロジェクトのルート パスです。 JavaEE サーバーの場合、これはサーバーへのパスである可能性があります。これには統一された基準はありません。 ただし、デフォルトでは、java.io パッケージ内のクラスは常に、new File("xxx") などの現在のユーザー ディレクトリに基づいて相対パス名を分析します。これは、System.getProperty("user.dir") の下で xxx を見つけることを意味します。パス。したがって、この方法でファイルを配置すると、移植の問題が発生する可能性があります。
3) Web アプリケーションのルート ディレクトリ


Web アプリケーションでは、通常、ServletContext.getRealPath("/") メソッドを通じて Web アプリケーションのルート ディレクトリの絶対パスを取得します。

上記の基本的なポイントをマスターした後は、探しているリソースを簡単に見つけることができます。ただし、将来の移植の生死に関係なく、一時的な幸福だけを追求すべきではないことを明確に認識する必要があります。どの環境 (j2se または Web、Windows または
Linux

) でも問題なく使用できます。

以上がJavaリソースのパス配置の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。