1

マニュアルから:

24.3 アプリケーション プロパティ ファイル SpringApplication は、次の場所にある application.properties ファイルからプロパティを読み込み、Spring 環境に追加します。

現在のディレクトリの /config サブディレクトリ。

現在のディレクトリ

クラスパス /config パッケージ

クラスパスのルート

現在のディレクトリが2回言及されていますが、これは実際には何の意味もありません:

私はそれを自分のプロジェクトのルートに入れてみました(つまり、との出力に一致するフォルダーの上)src、そしてwarファイルと一緒に入れてみました(つまり)java.io.File( "." ).getCanonicalPath()System.getProperty("user.dir");build\libs

しかし、実際に機能する唯一の場所は、デフォルトの場所 ( src\main\resources) です。

では、「現在のディレクトリ」とは何を意味し、ファイルは実際にはどこにあるのでしょうか?

データベース資格情報をアプリに組み込む必要がないように、ファイルの正しい外部の場所を見つける必要があります。

ガイドによるとapplication.properties、現在のディレクトリに配置すると機能し、それを配置する正確な現在のディレクトリが見つかりましたが、それでも機能しません。System.out.println(System.getProperty("spring.datasource.url"));これは、次の出力で確認できnullます。プロパティ ファイル。

4

5 に答える 5

0

現在のディレクトリがプロジェクトのルート ディレクトリであることを理解しています。ただし、これは で変更できます-Dspring.config.location=your/config/dir/。この投稿を見て、ここにリンクの説明を入力してください

于 2016-11-30T17:15:05.960 に答える
0

「現在のディレクトリ java」を検索すると、この質問に行き着きます。application.propertiesをアプリケーションと同じディレクトリに置くと、デフォルトで取得されるように意図されています。

その機能に依存するべきではないため、開発やテストにはその機能を使用しません。ただし、アプリを本番環境で実行する場合は、アプリケーション自体の隣にある構成ファイルに環境固有の設定を入れると便利な場合があります。

于 2016-11-30T17:19:39.390 に答える