2017-04-09 3 views
0

私自身のローカルシステム上で春のブートプロジェクトを作成しました。 jarファイルをビルドして、リモートサーバーにインストールできるようにしたい。リモートサーバーのサーバーアドレスとmySqlアドレスを構成する必要がありましたが、ビルドできず、多くのエラーが発生していました。システムがリモートサーバーのアドレスとデータベースを認識できないためです。別のシステムで実行するためのSpringプロジェクトのビルド

これは私の.propertiesファイルである。別の構成で実行されているためにそれを扱うことができる方法を

spring.datasource.url=jdbc:mysql://localhost:8081/aths 
spring.datasource.username=root 
spring.datasource.password= 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.jpa.hibernate.ddl-auto=create 
server.address=192.168.24.250 
server.port=8080 

? (別のIP、データソース、...) 私はそれを正しくやっていますか?ありがとう

答えて

1

ここでスプリングプロファイルを使用できます。 application-{profile}.propertiesフォーマットを使用して、さまざまなプロファイルの異なるプロパティファイルを作成します。 devの場合はapplication-dev.properties、プロダクションの場合はapplication-prod.propertiesは、プロファイル固有の設定を反映します。次に、春の起動アプリケーションを実行しているときに、SPRING_PROFILES_ACTIVE環境変数またはspring.profiles.activeシステムプロパティを使用して、目的のプロファイルをアクティブにします。

と終了時に、あなたはあなたがあなたのリソースフォルダ内の異なるapplication.propertiesを持っており、たとえばapplication-{profile}.propertiesのための春のプロファイルを使用し、指定されたプロファイルを使用してアプリケーションを実行できるコマンドで java -jar -Dspring.profiles.active=prod application.jar

+0

私は2つのプロパティを作成する必要があります。たとえば、ローカルテスト用とサーバー用の2つのプロパティを作成する必要がありますか? – Kenji

+0

はい@Kenjiので、Springは '-Dspring.profiles.active'パラメータ値でそれを検出し、プロパティを読み込みます。特定のプロファイルに対して特定のものをスプリングプロファイルで設定できます。 –

+0

例:http://www.deepzeafish.xyz/environment-specific-properties-spring-boot.html、 ここをクリック参考: http://docs.spring.io/spring-boot/docs/current/ reference/html/boot-features-external-config.html、 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-definition-profiles –

0

をあなたのjarファイルを実行します。ただし、これにより、構成ファイルはプロパティファイル内でハードコードされたものに制限されます。アプリケーションを実行しているときに、プロファイルがサポートされていない他の人に配布する場合は、起動時にプロパティファイルを提供することができます。

ので .jarファイルとして例えば同じディレクトリに管理者が彼らのために正しい詳細を入力できるように、アプリケーションに必要なすべての変数のための空のプレースホルダでapplication.propertiesという名前のファイルを作成します。その後、彼らは、次のコマンドを使用してアプリケーションを起動する必要があります

java -jar 'applicaitonname.jar -Dspring.config.name="file:/path/to/application.properties"

またはspringbootは、次の場所にapplication.propertiesファイルからプロパティをロードします:現在の

  1. A/configサブディレクトリをディレクトリ。
  2. 現在のディレクトリ
  3. リソースフォルダのデフォルトのapplication.propertiesがロードされないことに失敗しました。
+0

を実行します。私のアプリはどのようにして異なるプロパティを取得できますか?どうやってサーバのプロパティを使うのでしょうか、それとも別のプロパティを使うのでしょうか?それはランタイムまたは何ですか? – Kenji

+0

'-Dspring.config.name =" file:/path/to/application.properties "'で起動時に、別の設定ファイルをspringブートアプリケーションに渡すことはできます –

関連する問題