MacでEAP5.0をソースからビルドしてみる
ダウンロード
この辺からとってくる
ftp://ftp.riken.jp:/pub/Linux/redhat/ftp.redhat.com/jbeap/5.0.0/en/source/jboss-eap-src-5.0.0.GA.zip
ビルド
[ore@]$ unzip jboss-eap-src-5.0.0.GA.zip [ore@]$ cd jboss-eap-5.0-src/build [ore@]$ ant
なんかエラーが・・・
[javac] /Users/ore/Develop/JavaOSS/jboss-eap-5.0-src/jboss-as/iiop/src/main/org/jboss/tm/iiop/TxServerClientInterceptor.java:37: org.omg.CosTransactions.PropagationContext にアクセスできません。 [javac] クラスファイル /Users/ore/Develop/JavaOSS/jboss-eap-5.0-src/jboss-as/thirdparty/jboss/jbossts/lib/jbossjts-jacorb.jar(org/omg/CosTransactions/PropagationContext.class) は不正です。 [javac] クラスファイルのバージョン 50.0 は不正です。49.0 であるべきです。 [javac] 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 [javac] import org.omg.CosTransactions.PropagationContext; [javac] ^ [javac] エラー 1 個 [javac] 警告 19 個 BUILD FAILED /Users/ore/Develop/JavaOSS/jboss-eap-5.0-src/jboss-as/iiop/build.xml:229: Compile failed; see the compiler error output for details.
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK が 1.5 を向いていたので 1.6 にする。修正して再ビルド。build/output配下にブツができるので、/optにでも置いて使うことにする。
[ore@]$ cd /System/Library/Frameworks/JavaVM.framework/Versions [ore@]$ sudo rm CurrentJDK [ore@]$ sudo ln -s 1.6 CurrentJDK [ore@]$ cd ~/jboss-eap-5.0-src/build [ore@]$ ant [ore@]$ mkdir /opt/jboss-eap-5.0 [ore@]$ mv output/jboss-5.0.0.GA /opt/jboss-eap-5.0/jboss-as
起動
[ore@]$ cd /opt/jboss-eap-5.0/jboss-as/server [ore@]$ cp -r default myall [ore@]$ cd ../bin [ore@]$ ./run.sh -c myall -b 0.0.0.0
JBPAPP_5_0_0_GAとなっているので成功したってことかな。簡単にEAPをソースからビルド&起動できた。
17:53:35,266 INFO [ServerImpl] JBoss (Microcontainer) [5.0.0.GA (build: SVNTag=JBPAPP_5_0_0_GA date=201004041552)] Started in 50s:65ms
EmbeddedToolsのインストール
ついでに、JMX consoleからSwingベースのObject Store Browserを起動する、話題の脱力系ツールをインストール。
[ore@]$ cd /opt/jboss-eap-5.0/jboss-as/docs/examples/transactions [ore@]$ vi build.xml
targetをmyallに変更。
--- build.xml.orig 2010-04-04 18:30:54.000000000 +0900 +++ build.xml 2010-04-04 18:31:15.000000000 +0900 @@ -30,7 +30,7 @@ For JTS, must have an ORB configured. For XTS, must have JBossWSNative configured. Path relative to our location (docs/examples/transactions) --> - <property name="target.server.dir" value="../../../server/all"/> + <property name="target.server.dir" value="../../../server/myall"/> <target name="usage"> <echo message="Usage: 'ant jts' : installs JBossTS JTS (distributed JTA) component"/>
でビルド&インストール
[ore@]$ ant tools
再起動して、 jmx-console を開く。server/myall/conf/props/jmx-console-users.properties にユーザ追加するのを忘れずに。http://localhost:8080/jmx-console/ を開いて、左の Object Name Filter から jboss を選択、 service=EmbeddedTools を開く。startEmbeddedTools を invoke すればブツは起動する。・・・嗚呼、脱力。