ratio - rational - irrational

« ビブリオマニア | Main | Ruby 1.6.8 on MacOSX Leopard »

2008年01月21日

JudeをMacOSXのアプリケーションにする

モデリングツールのJudeは気に入ってる。マインドマップとUMLとコード生成を連携させるっていうことができるし、何よりも開発者の顔が見えるのが良い。中の人たちはちょくちょくオープンソース系のイベントに顔を出してるので、言いたいことはすぐに言える。

そう言うわけで、これをMacでも使いたいわけだ。(ちなみに、JudeはJavaアプリケーションなのでrun anywhereだけれども、Macはサポート対象外である)どうせなら標準バンドルのアプリケーションと同じように、独自のアイコンを持っていて、アプリケーションのディレクトリをダブルクリックするだけで起動するようにしたい。ディレクトリツリーをFinderから実行可能にするのはそれほど難しいわけじゃない。でも、前にもやったのにやり方の細かいところを忘れていたので今回はメモしようと思う。

バージョンの選択

Jude Professional 5.1.1にした。5.2 beta 1はぬるぽを投げて起動してくれなかった。

KeyStr =  is invalid
java.lang.NullPointerException
	at java.lang.String.endsWith(String.java:1296)
	at jE.a(X:222)
	at jE.a(X:227)
	at jE.a(X:204)
	at jE.c(X:72)
	at wA.n(X:151)
	at aI.(X:59)
	at JP.co.esm.caddies.jomt.Jude.e(X:516)
	at JP.co.esm.caddies.jomt.Jude.f(X:419)
	at JP.co.esm.caddies.jomt.Jude.a(X:75)
	at jS.run(X:406)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

環境は

$ java -version
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)
$ uname -a
Darwin yugui-macbook.local 9.1.0 Darwin Kernel Version 9.1.0: Wed Oct 31 17:46:22 PDT 2007; root:xnu-1228.0.2~1/RELEASE_I386 i38

手順

  1. JREやらWindows用インストーラーなんかは不要だ。本体だけzipで固めたやつを落としてくる。
  2. zipを展開するとjude_professionalディレクトリが出てくる。これをResourcesに改名
  3. Contentsディレクトリを作って、Resourcesをその中に移動。
  4. Contents/MacOSディレクトリを作成。
  5. Contents/MacOS/Judeを作成。../Resources/judeへのsymlink
  6. 8行目のJUDE_HOMEの設定をJUDE_HOME="`dirname $0`/../Resources"に変更
  7. Resources/jude.icoとjude-doc.icoをPreview.appでも他の何かでも、適当なツールでTIFFに変換。
  8. tiff2icnsでTIFFをicnsデータに変換。
  9. 下記の内容のContents/Info.plistを作成。
  10. ディレクトリJudeの中にContentsを移動。JudeをJude.appと改名。

Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>Japanese</string>
	<key>CFBundleDocumentTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>jude</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>jude-doc.icns</string>
			<key>CFBundleTypeName</key>
			<string>Jude Document File</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
		</dict>
	</array>
	<key>CFBundleExecutable</key>
	<string>Jude</string>
	<key>CFBundleIconFile</key>
	<string>jude.icns</string>
	<key>CFBundleIdentifier</key>
	<string>jp.co.esm.caddies.jomt.jude</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>Jude</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleVersion</key>
	<string>5.1.1</string>
	<key>NSMainNibFile</key>
	<string>MainMenu</string>
	<key>NSPrincipalClass</key>
	<string>NSApplication</string>
</dict>
</plist>


トラックバック

この記事のトラックバックpingのURL:
http://idm.s9.xrea.com/blog/mt-tb.cgi/741

Ping元:JudeをMacOSX流に使う (改)

概要:
前にやったやつでもそれなりに満足だったのだけれども、 起動後にDock上のアプ...
Weblog:
ratio - rational - irrational
日時:
2008年02月02日 14:18

コメント

 自分はJudeをDebianにいれて動かしていました。
フォントの問題など特に問題は起きずにデフォルトの設定で動作した記憶があります。

  • Posted by: Easylife at 2008年01月22日 08:16

グーグル先生よりたどり着きました。
ぬるぽ情報を提供してくれてありがとうございます!

Yuguiさんの情報のおかげで、近々リリース予定の5.2には本件の修正が取り込まれています。

  • Posted by: sho@中の人 at 2008年01月29日 10:12

新しくコメントをつける

よくわからない理由により、コメントが即座には反映されないかもしれませんか゛、ボタンを押して元の画面に戻ってきたならたぶん正しく送信されています。




blog操作

検索


カテゴリー

このブログについて

あわせて読みたい

follow yugui at http://twitter.com
© 2008 Yugui

Powered by Movable Type 3.2-ja-2