PPC Macのjava

OpenJDK7ですが、awtを使うと

[~/src/Java/awt]java PrefTest
Exception in thread "main" java.awt.HeadlessException
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:202)
	at java.awt.Window.(Window.java:534)
	at java.awt.Frame.(Frame.java:420)
	at java.awt.Frame.(Frame.java:385)
	at PrefFrame.(PrefTest.java:6)
	at PrefTest.main(PrefTest.java:24)

でエラーになります。
検索してみると
>数少ない対策としてSystem Propertyをセットする方法がありますがうまくいくとは限りません。
がみつかりました。
System.setProperty (“java.awt.headless” , “false”);
を追加すれば良いようなので試してみます。

[~/src/Java/awt]java PrefTest
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
	at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
	at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
	at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:110)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:74)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:186)
	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102)
	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81)
	at java.awt.Window.initGC(Window.java:466)
	at java.awt.Window.init(Window.java:486)
	at java.awt.Window.(Window.java:535)
	at java.awt.Frame.(Frame.java:420)
	at java.awt.Frame.(Frame.java:385)
	at PrefFrame.(PrefTest.java:6)
	at PrefTest.main(PrefTest.java:25)

メッセージが変わりました。
X11を対象にしているようです。
X11のターミナルから起動させると無事動きました。
Appleが提供するjavaのようにどちらの環境でも動く物ではないようです。

AozoraEpub3のコンパイルを試してみます。
git cloneでソースを取得して、

cd src

javac -cp \
../lib/commons-cli-1.2.jar:\
../lib/commons-collections-3.2.1.jar:\
../lib/commons-compress-1.0.jar:\
../lib/commons-lang-2.4.jar:\
../lib/commons-logging-api-1.0.4.jar:\
../lib/jai_codec.jar:\
../lib/jai_core.jar:\
../lib/jsoup-1.7.1.jar:\
../lib/junrar-0.7.jar:\
../lib/velocity-1.7.jar:. AozoraEpub3.java

javac -cp \
../lib/commons-cli-1.2.jar:\
../lib/commons-collections-3.2.1.jar:\
../lib/commons-compress-1.0.jar:\
../lib/commons-lang-2.4.jar:\
../lib/commons-logging-api-1.0.4.jar:\
../lib/jai_codec.jar:\
../lib/jai_core.jar:\
../lib/jsoup-1.7.1.jar:\
../lib/junrar-0.7.jar:\
../lib/velocity-1.7.jar:. AozoraEpub3Applet.java

[Java/AozoraEpub3/src]jar cvfm ../AozoraEpub3.jar META-INF/MANIFEST.MF .
[~/src/Java/AozoraEpub3]java -cp AozoraEpub3.jar AozoraEpub3
usage: AozoraEpub3 [-options] input_files(txt,zip,cbz)
                   version : 1.1.0b46
[~/src/Java/AozoraEpub3]java -cp AozoraEpub3.jar AozoraEpub3Applet
Exception in thread "main" java.awt.HeadlessException
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:202)
	at java.awt.Window.(Window.java:534)
	at java.awt.Frame.(Frame.java:420)
	at javax.swing.JFrame.(JFrame.java:224)
	at AozoraEpub3Applet.main(AozoraEpub3Applet.java:4680)

無事コンパイル出来ました。
System.setPropertyを追加しましたが、Appletの方はダメなようです。
コンパイルしたAozoraEpub3.jarに置き換えて、narou.rbを試しましたが問題なくepubファイルが出来ました。

jarファイルに余分なファイルが含まれてしまうので、以下の手順に変更しました。

echo jar cvfm ../AozoraEpub3.jar META-INF/MANIFEST.MF \\>tmp.sh
find . -name \*.class | sed 's/\$/\\\$/' | sed 's/$/ \\/' >>tmp.sh
find . -name \*.png   | sed 's/\$/\\\$/' | sed 's/$/ \\/' >>tmp.sh
sh tmp.sh
カテゴリー: mac パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>