CentosでFlexしてみる

FlexJavaを使ってるだけあって ノートでは遅いので、CentOSのサーバに入れてみる。

まず、どんなjavaが入っているか確認する。

% which java
/usr/bin/java

% java --version
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20071124 (Red Hat 4.1.2-42)

GNUのgijではflexは走らないので、SunのSDKに行く。
http://java.sun.com/javase/downloads/index.jsp
プラットフォーム(今回はLinux x64)を選んでダウンロード。「リンクURLをコピー」を選んで、wgetしても良い。

% wget "http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u14-linux-x64-rpm.bin?BundledLineItemUUID=u_FIBe.mnPMAAAEhv2BHafhX&OrderID=HXdIBe.mvAEAAAEhr2BHafhX&ProductID=tPxIBe.oz2IAAAEhmh0zLjfT&FileName=/jdk-6u14-linux-x64-rpm.bin"

% mv jdk-6u14...rpm.bin jdk-rpm.bin

% chmod u+x jdk-rpm.bin
% sudo ./jdk-rpm.bin

特殊文字が含まれるため、wgetするには引用符が必要。あとファイルがとっても長いので、mvしておく。あとは実行パーミッションつけて実行。ライセンスが表示されるので「yes」と入力。

SunのJavaは /usr/javaに入るので、先にそこを見るようにパスを設定。.zshrcとかで以下を設定。

export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

念のため確認。

% which java
/usr/java/default/bin/java

これでOK。


flex sdkのインストール。以下の作業ではroot権限はいらない。

% wget http://download.macromedia.com/pub/flex/sdk/flex_sdk_3.zip 
% mkdir flex3
% mv flex_sdk_3.zip flex3
% cd flex3
% unzip flex_sdk_3.zip

あとは~/flex3/binにパスを通しておく。

mxmlをいじるのは正直とっても面倒なので、ActionScriptで行く。
以下の内容のファイルをHelloWorld.asとして保存。

package {
  import flash.display.*;
  import flash.text.*;
  public class HelloWorld extends Sprite {
    public function HelloWorld() {
      var tf:TextField = new TextField();
      tf.text = "Hello World!";
      addChild(tf);
    }
  }
}

コンパイル

% mxmlc HelloWorld.as
Loading configuration file /home/username/flex3/frameworks/flex-config.xml
/path/to/HelloWorld.swf (621 bytes)

できたようだ。

なお、クラス名とファイル名が(大文字小文字含めて)一致してなければいけない。Javaに近い仕様。
文法もVer 3.0になってからかなり(というかまるで)Java。varによる宣言はC#っぽいか。

ともかく、これで環境はできた。あとは時間があれば・・・。まぁないんだけど、時間は作るしかないか。