Spring Bootで発生した問題を記録
Spring Bootで発生した問題を記録
1.jarを実行中にクラスパスリソースが見つかりません問題説明:springbootをjarにパッケージ化した後にclasspathの下のファイルを取得できません 理由:STSのアプリケーションを実行するときにsourcesの下のファイルを取得するのは有効ですが、アプリケーションを構築して実行可能jarから実行すると動作しません.これはspringbootがファイルシステムのリソースしか取得できないためです.IDEにコードを書くときにファイルシステムを実行しますが、パッケージは圧縮ファイルにアクセスするパスです. ソリューション:springのClassPathResourceのgetInputStream()の代わりにspringのClassPathResourceのgetInputStream()を使用することを推奨します.次の です.
Springbootが提供するソリューション
1.jarを実行中にクラスパスリソースが見つかりません
ClassPathResource classPathResource = new ClassPathResource("static/something.txt");
InputStream inputStream = classPathResource.getInputStream();
File somethingFile = File.createTempFile("test", ".txt");
try {
FileUtils.copyInputStreamToFile(inputStream, somethingFile);
} finally {
IOUtils.closeQuietly(inputStream);
}
Springbootが提供するソリューション