<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bluegold &#187; java</title>
	<atom:link href="http://blog.bluegold.me/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bluegold.me</link>
	<description>OpenSolaris と MacBook で自宅ネットワークを構築するメモ</description>
	<lastBuildDate>Thu, 26 Aug 2010 14:38:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Snow Leopard で FreeMind</title>
		<link>http://blog.bluegold.me/2009/09/snow-leopard-freemind-java-fix/</link>
		<comments>http://blog.bluegold.me/2009/09/snow-leopard-freemind-java-fix/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 03:00:00 +0000</pubDate>
		<dc:creator>bg</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://blog.bluegold.me/?p=264</guid>
		<description><![CDATA[Rosetta のインストールされていない Snow Leopard で、Universal Binary になっていない Java アプリケーションを実行するためのワークアラウンド。JavaApplicationStub を置換えます。]]></description>
			<content:encoded><![CDATA[<p>
<a href="/2009/08/snow-leopard-install-dvd-error/">前回</a>の記事で問題となっていた、DVDの不良は週明けに渋谷のアップルストアに行って交換してもらいました。店員さんもなれた感じの対応でしたので、同じような返品交換がけっこうあったんでしょうね。「交換用の DVD もアップルストアで中身を開封して確認したわけではないので、これにも不具合が絶対に無いとは言いきれない」のような事を言っていたのでは、ある意味正直な店員さんだったんだろうな。
</p>
<p>新しい DVD で再インストールしたところ、それまで起動できていなかった Mail, iPhoto, QuickSilver などは正常に使えるようになりました。普段使っているアプリに関しては（いくつか対応待ちのものがあるものの）移行は問題ないかと思っていましたが、昨日<a href="http://freemind.sourceforge.net/">FreeMind</a>が動かないのに気がつきました。仕事の議事録等は FreeMind で書くのが習慣となっていたので、このアプリが動かないとけっこう困ります。
</p>
<p><span id="more-264"></span></p>
<p>動かないというのは正確ではなくて、実際には以下のようなダイアログが出てきました。<br />
<img src="http://wp-cdn.bluegold.me/2009/09/snow_leopard_rosetta_install_offlince.png" alt="snow_leopard_rosetta_install_offlince" title="snow_leopard_rosetta_install_offlince" width="500" height="295" class="alignnone size-full wp-image-268" /><br />
インターネットに接続している状態では、下のように Rosetta のインストールを促すようです。<br />
<img src="http://wp-cdn.bluegold.me/2009/09/snow_leopard_rosetta_install.png" alt="snow_leopard_rosetta_install" title="snow_leopard_rosetta_install" width="512" height="306" class="alignnone size-full wp-image-267" />
</p>
<p>なので、Rosetta をインストールしてしまえば解決なのですが、せっかく Snow Leopard に移行したんだから  PowerPC のバイナリの無い環境にしたいので、解決方法を調べてみました。</p>
<p><!--more--></p>
<p>エラーダイアログにある通り、問題は JavaApplicationStub が Universal Binary になっていない点にあります。JavaApplicationStub は文字通り Java で書かれたアプリケーションを Mac OS X のネイティブアプリのように見せるためのスタブとなる実行ファイルです。FreeMind.app の中から JavaApplicationStub を探して調べると、以下のようになっていました。
</p>
<pre class="brush: bash;">
$ file FreeMind.app/Contents/MacOS/JavaApplicationStub
FreeMind.app/Contents/MacOS/JavaApplicationStub: Mach-O executable ppc
</pre>
<p>やはり、ppc のバイナリしか入っていません。<br />
Universal Binary な JavaApplicationStub も存在するはずなので、HDD の中を調べたところ以下の場所にありました。
</p>
<pre class="brush: bash;">
$ file /System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub
/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub: Mach-O universal binary with 3 architectures
/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub (for architecture x86_64):	Mach-O 64-bit executable x86_64
/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub (for architecture i386):	Mach-O executable i386
/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/MacOS/JavaApplicationStub (for architecture ppc7400):	Mach-O executable ppc
</pre>
<p>このファイルで FreeMind.app/Contents/MacOS/JavaApplicationStub を上書きしたところ、Rosetta 無しで起動するようになりました。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bluegold.me/2009/09/snow-leopard-freemind-java-fix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
