2016-08-17 5 views
-1

に私は次の場所にdatabase.propertiesファイルを持っている: Grailsのアプリ/ confに/ database.propertiesの設定ファイルのパスを動的にGrails

は、今私は、ファイルを読み込み、以下のようにプロパティとして、それをロードする必要があります。

public static Properties loadProperties(String fileName) {   
    Properties prop = new Properties();        
    try {               
     FileInputStream inputStream = new FileInputStream(fileName); 
     prop.load(inputStream);          
    } catch (IOException e) {          
     e.printStackTrace();           
    }                

    return prop;              
} 
  • 私はdatabase.propertiesとしてファイル名を与える 、そのよう エラーが表示さ:私たちが実行している間database.properties :java.io.FileNotFoundException。

  • 一方、ファイル名に grails-app/conf/database.propertiesと指定すると、ローカルで正常に動作します。しかし、 WARファイルとしてtomcatサーバーを実行すると、上記と同じように表示されます エラー:java.io.FileNotFoundException:database.properties。

上記の問題を解決するにはどうすればよいですか、ローカルとtomcatの両方で自分のコードを実行できます。

+0

これは、外部化された構成を持つGrailsの方法ではありません。ドキュメントを読む:http://docs.grails.org/latest/guide/conf.html#configExternalized – rvargas

答えて

1

Grails DataSourceのドキュメントをhttp://docs.grails.org/latest/guide/conf.html#dataSourceに再訪する必要があります。

Grailsの設定と同じディレクトリにファイルを保存し、必要なプロパティだけをデータソース設定に含めることができる場合は、明示的にそれを読み取ろうとする理由はありません。あなたは、あなたの努力を「ホイールの再発明」に費やしていないことを嬉しく思います。

関連する問題