私はスプリングブートを使用して1つのJavaマイクロサービスを作成しました。アプリケーションは、src/main/resourcesフォルダ内の静的なxmlファイル(フォルダ内にまとめて保存、名前を付けてXにする)からのデータを必要とします(STS IDEを使用しています) IDE自体で実行するとうまくいきます。 これをjarファイルにパックし、CLI(java -jar jarFileName.jar)を使用して実行すると、target/classesフォルダからXフォルダにアクセスします。ピボットクラウドファウンドリにデプロイした後にjar内のxmlなどのリソースファイルにアクセス
私の問題は、CLIまたはSTSプラグインを使用してPivotal Cloud Foundryにこの小さなアプリケーションをデプロイしようとすると、jarファイルへのパスを与えてそれぞれのjarファイルのみをアップロードしてコンテナを起動する必要がありますアプリケーションと一緒に。 しかし、アプリケーションは、そのリソースを含むフォルダXにアクセスできません。
jarファイルにBOOT-INF/classesのフォルダXが含まれていることが確認されましたが、自身のパスではなく自分のパスでXフォルダを検索しようとします。
PCFにデプロイされたjarファイルが、その内部に保持されているリソースにどのようにアクセスできるか考えている人はいませんか。
私は
InputStream is = this.getClass().getClassLoader().getResourceAsStream("X/abc.xml")
を使用してみましたが、それはうまくいきませんでした。実行時にパスを見つけることができません。
あなたが求めているのは、クラウドネイティブ開発のための反パターンです。 https://12factor.net/ –
[Spring Cloud Config Server](https://cloud.spring.io/spring-cloud-config/single/spring-cloud-config.html)のようなものを使用してみてください。 ) –
実行時にxmlファイルをロードしたい場合は、その答えをチェックしてください。 –