ハマログ

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

実行可能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日


関連記事

CocoaPodsでiPhoneアプリ用のライブラリを管理する

RubyのRubyGem, PHPのcomposer, JavaのMavenなど…

よく知られているプログラミングの命名法

システムを複数人で開発するときに、記法や単位を一定のルールで統一します。 これを…

OWASPZAPで証明書エラー

こんにちは、いけしまです。最近よくOWASPZAP使ってテストをしています。今日…


← 前の投稿

次の投稿 →