ハマログ

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

実行可能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ステータスコー…

IP制限の環境下でLet’s EncryptのSSL証明書を発行する

Let’s EncryptのSSL証明書を導入する際に、通常のウェブ環境であれば…

Laravelのマイグレーションで実行されるDDLを確認する

Laravelのマイグレーション機能は安心でとても便利ですが、本番データベース定…


← 前の投稿

次の投稿 →