Springbootプロジェクトは、JARパッケージの起動後の静的リソースにFileNotFoundExceptionを通じて、プロジェクトのルートパスで読み取ることができません

  プロジェクトの開発プロセスでは、プロジェクトのルート・パスは、生産試験を二次元二次元コード、二次元コードのロゴなどの画像は、Windows環境で適切に生成することができるときに呼び出されるコードが、展開を生成するために、画像を格納します2次元コード生成エラー環境の後、FileNotFoundExceptionを     JARパッケージのリソースパス:/ BOOT-INF /クラス/ ** / logo.png

  ファイルに2次元コード中に生成されたファイルIOストリームの使用は、以下のようにコードは読みください。 

   新しい新しい= ClassPathResourceリソース(imgpathを)リソース; 
   ファイルファイルresource.getFile =();
   (!File.Exists()){IF
   System.err.println( "" + imgpath + "は、ファイルが存在しません"!);
   戻り値;
   }
  イメージ・SRC = ImageIO.read(ファイル);
ときにファイルがjarファイルに使用する際に、ファイルを読み取ることで、別のインターフェイスコール:// *** /ロゴファイル://絶対パスの下にサーバリソースを読み取るために、ファイルをします。jar .pngの
が、Linuxサーバでこの時間logo.pngファイルの絶対パスは、ファイルのエラーを見つけることができません、存在しない

====================== ================================================== =========================

次のようにInputStreamのストリームファイルによって変更することは、コードを読み取る
  
  。ClassPathResource新しい新しいリソース= ClassPathResource(imgpath)

  のinputStream =リソースInputStreamを.getInputStream()。
  画像SRC = ImageIO.read(のinputStream);
ストリームから読み出されたときに「/」の前のファイルパスによって除去され、下側の相対パスクラスパスから順に処理されたストリーム中に移し、次いで探し始めると、

このような面、特にそれが基本となる実装に関連します
ClassPathResource、クラス、およびいくつかのJDK自身のクラスオブジェクト、私は限られた踏切のギャングポインティングあなたに見て...連絡先Eメール[email protected]

おすすめ

転載: www.cnblogs.com/mbblog/p/12503086.html