Spring+DB接続方法の調査時、DB接続設定をjdbc.propertiesに別で定義する方法は書いてあるがどこもsrc/main/resources配下にjdbc.propertiesを置く設定になっている。
だけど、今回のプロジェクトでは最終的に/opt/xxx/jdbc.propertiesとどこかに置いてそのファイルをユーザさんなどに設定してもらう必要がある。
warファイルの中にjdbc.propertiesがあってもダメなのでどうやるのか調査したら、すんなり判明。
servlet-context.xml
<!-- <context:property-placeholder location="classpath:jdbc.properties"/> -->
<context:property-placeholder location="file:/opt/xxx/jdbc.properties" />
location設定で"classpath:xxx"ではなく"file:xxx"と設定すればいいらしい。
これで解決と思ったけど、これだとちょっとした動作確認で毎回サーバ上のTomcatにデプロイしなくてはいけなそう。。
開発はWindows上で行うし、ちょっとした動作確認もEclipseと連携したTomcatでやるのでWindowsとLinuxとで設定を切り替えたいな~とか思って試してたら別に上記のままでOKでした。
WindowsのC:\にopt\xxx ディレクトリを作ってそこにjdbc.propertiesを置けば普通に動いた。
jdbc.propertiesをCドライブ以外に置きたいとかあったらわからないけど、現状そんなことはないのでこの方法で進める予定