2016-10-25 2 views
1

これらのプロパティを含むJava Webアプリケーションには、apllication.propertiesファイルがあります。コマンドラインからapplication.propertiesファイルの値を無効にする

spring.datasource.driverClassName=org.postgresql.Driver 
spring.datasource.url=jdbc:postgresql://localhost:19095/test 
spring.datasource.username=test 
spring.datasource.password=test123 

しかし、私は、Tomcatサーバの起動時に(driverClassNameを除く)これらのプロパティを上書きしたいです。 これらの変数をコマンドラインから設定しようとしていますが、動作しません。

Tomcatのバージョン:あなたはシステム・パラメータで指定されたconfigディレクトリとプロパティのプレースホルダを使用していないのはなぜ7.0.63

+1

アプリケーションを起動し、コマンドラインからどのように変数を設定しようとしていますか?たぶん間違った構文を使用している可能性があります。これは、例えば、 'Java -Dspring.datasource.username = newUsername -jar yourjar.jar'は、Spring起動アプリケーションで動作するはずです。 – walen

+0

返信用に@walen thnx。間違った構文を使用していました。 CATALINA_OPTSのすべての変数を設定し、catalina.sh startを使用して私のtomcatを開始する。今それは正常に動作しています。 – vinni

答えて

0

-DconfigLocation=/opt/config 

<context:property-placeholder location="file:${configLocation}/database.properties:defaultDatabase.properties" /> 

その後でTomcatを起動

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/PropertySource.htmlおよびLoading property file from system properties with default path in Spring context

+0

私はアプリケーションでXMLベースの設定を使用していません。ユーザー名、パスワード、およびURLは動的です。 – vinni

+0

「動的な意味」とは何ですか、なぜtomcatサーバーボックスの設定ファイルに入っていないのですか? –

関連する問題