ここで私の必要条件は、Javaクラスを持つ1つのmuleアプリケーションを作成したことです。いくつかの値はハードコーディングされていないので、外部化しようとしています。私はこの値をmule-app.propertiesファイルに保存し、以下のようにFileInputStreamを使用しました。mule/java - javaクラスからjar依存関係にあるプロパティファイルを読み込みます
String propFileName = "src/main/app/mule-app.properties"
Properties property = new Properties();
property.load(new FileInputStream(propFileName));
しかし、このコードはCloudHubにデプロイする必要があります。そのファイルが見つかりませんでした。私は、その罰金ローカルで実行している両方のケースについて
String propFileName = "target/classes/mule-app.properties"
として、ファイル名の所与のパスを試みたが、「ファイルが見つかりません」というようCloudHubで同じ結果が得られます。
解決策は何ですか?
別のことは、異なる環境に関連するすべてのプロパティを保持している共通のコードがあることです。この共通コードのパッケージ化は、jar形式で行われます。ですから、私は上記のコードで使用しているプロパティを保持し、jar自体から読み込むことができます。
はいの場合、どのように?
これは間違いなく動作しますが、クラウドやオンデマンドでの展開後はプロパティを読み取ることができません。これはパスの場所全体を書き込むのは良い習慣ではありません。 –