ハマログ

株式会社イーツー・インフォの社員ブログ

実行可能jar の プロパティファイルを外部に置く

背景

実行可能jarの設定などを記述したプロパティファイルを
開発時と本番時で分けて利用したいと思う場面はよくあることかと思います
MANIFEST.MF の Class-Path: にプロパティファイルを配置する
ディレクトリへのパスを記述すればよいようでしたが
はまったのでメモしておきます

要点

相対パスでは認識してもらいえない

自分が試した限りは、相対パスでは認識して貰えませんでした

パスの最後に “/” を付ける

こちらを参考にそうしました

http://www.coderanch.com/t/385714/java/java/Class-Path-manifest-picking-properties

例 MANIFEST.MF

例えばこんな感じです

Manifest-Version: 1.0
Class-Path: /path/to/prop-dir/
Build-Jdk: 1.7.0_17
Built-By: who
Created-By: Apache Maven
Main-Class: org.springframework.batch.core.launch.support.CommandLineJ
 obRunner
Archiver-Version: Plexus Archiver

/path/to/prop-dir ディレクトリの下に
あなたが読み込ませたいプロパティファイルを配置します

このMANIFEST.MF を同梱した jar を実行すると
それが参照されます

試した環境

$  cat /etc/redhat-release
CentOS release 6.3 (Final)
$ java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

I hope this helps.

  桑原 光昭   2013年5月24日


関連記事

勉強会 – コメントについて

開発メンバーで勉強会で学んだ内容を書き記したいと思います。 コードに対する共通認…

Laravel4でHTTPステータスコードを設定する

Laravel4でのHTTPステータスコードの設定方法。 HTTPステータスコー…

『ドキュメントルートの変更が反映されない』にハマって酷い目に遭った話。

『検証環境のドキュメントルートのディレクトリ名がちょっとアカンから本番と合わせて…


← 前の投稿

次の投稿 →