モジュール内で使用されるプロパティを変更できるように、.propertiesファイルをjarファイルから削除して、モジュールを再インストールする必要はありません。Java:jarの外にある.propertiesファイルをクラスパスに含めるには?
Java 8以前では、スクリプトを実行して、.propertiesファイルを下の方に含めて使用していました。しかし、Java 8に更新したとき、クラスパスに.propertiesファイルを含めるこの方法は機能しません。つまり、javaプログラムは.propertiesファイルを見つけられません。
/usr/java/latest/bin/java -d64 -Xms1G -Xmx16G -XX:MaxPermSize=128m -XX:-UseGCOverheadLimit -cp "/online/sand/lib/client-api-1.0.0.jar:/online/sand/oap_pub/lib/*:/online/sand/oap/oap_dw/run/client_api/application.properties" team.online.client.api.MasterProcessor | tee -a client_api.log
我々は性質がこのようにファイルをピックアップするSPINGコンテキストを使用している:次に
<util:properties id="app_props"
location="classpath*:/application.properties" />
そのappilcation.properties内のプロパティJavaプロジェクトを実行するために
マイスクリプトファイルは(多くの異なるファイルで)この方法で使用されています。
@Value("#{app_props[\"SERVICE_PATH_GET_METADATA\"]?:''}")
private String metadataServicePath;
jarとクラスパスから.propertiesファイルを外して、Springコンテキストがそのファイルを見つけるようにする方法を探しています。
これ以外の方法はありますか?私たちは、事前にjarファイルから
class.getClassLoader().getResourceAsStream("application.properties");
感謝を除外プロパティファイルを維持する必要があります。