てきとうなメモ

本の感想とか技術メモとか

JudeとJar Bundler

UMLを書く必要があったのでJude Communityをインストールした。サポートはWindowsだけなのだがJavaなのでMacでも実行できる。unix系用のシェルスクリプトを付属されているし。

でも検索してみるとバンドルにしてインストールしている人がいたので自分もやってみた。以下のサイトを参考にしてみたんだが、

そのままやってみるとなんかエラーがでるのでJar Bundlerを使ってみた。Jar BundlerというのはXcodeをインストールすると付属しているアプリケーションで/Developer/Applications/Utilities/Jar Bundler.appにある。

Jarファイルを選んでmainメソッドを実行するクラスを選び、Judeシェルスクリプトを見ながら、Javaのオプションを適当につけるだけ。あと、アイコンを設定したり、Mac共通のメニューバーを使うように設定できる。

アプリケーションを作成ってやると、以下のようなディレクトリ構造生成する

/Applications/Jude Community.app/
 +-- Contents/
      +-- Info.plist
      +-- MacOS/
      |    +-- JavaApplicationStub
      +-- PkgInfo
      +-- Resources/
           +-- Java/
           |    +-- jude-community.jar
           +-- jude.icns

Info.plistは以下のようなものを生成できた。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
	<key>CFBundleName</key>
	<string>Jude Community</string>
	<key>CFBundleVersion</key>
	<string>5.2.1</string>
	<key>CFBundleAllowMixedLocalizations</key>
	<string>true</string>
	<key>CFBundleExecutable</key>
	<string>JavaApplicationStub</string>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleIconFile</key>
	<string>jude.icns</string>
	<key>Java</key>
	<dict>
		<key>VMOptions</key>
		<string>-Xss2m -Xms16mm -Xmx512mm</string>
		<key>MainClass</key>
		<string>JP.co.esm.caddies.jomt.Jude</string>
		<key>JVMVersion</key>
		<string>1.5*</string>
		<key>ClassPath</key>
			<string>$JAVAROOT/jude-community.jar</string>
		<key>Properties</key>
		<dict>
			<key>apple.laf.useScreenMenuBar</key>
			<string>true</string>
		</dict>
	</dict>
</dict>
</plist>

細かい設定の変更はこのInfo.plistを直にいじると変更できる。それは以下のあたりを参照

参考