Eclipse Codename one〜クロス開発環境の構築(Eclipseでは動かなかった)〜

IoTの開発をJavaでやりたいと思い色々と調べています。元々はMicrobit〜ラズパイ〜MIDI音源と音を鳴らすための仕組みを作ることにあるのですが、J2ME(Bluetooth)のテストを行うのに色々と不都合があり、Code name oneを使うことにしました。エミュレータでテストを行えばいちいち実機を動かしたりしなくて良いので便利です。
そういう意味であれば、VirtualBoxとか便利なんでしょうね。。。

初めに、Code name oneでJavaMEの開発環境を作ろうとしましたが、自分の想定通りにいかないので(スマホ用のプラグインのようなので、)やめることにしました。

今回の記載内容

インストールおよびセットアップは下のようになります。
しかし、NetBeansでないと動かないという記事も見つけたので、今回はインストール方法のみを記載しました。
他の方法を模索しようと思います。

Codename one plugin イントール

早速、Eclipseへのインストールと設定などを行い開発の準備を進めたいと思います。参照するURLはこちらです
そのままEclipseMarket Placeでインストールできます。

そして、細かい設定、手順などはこちらにありました。

なのでここのページを参照して行きます。

eclipse.ini

初めに設定ファイル(eclipse.ini)に関して以下のような記述がありました。ちなみに自分の環境ではCode name oneをインストールしただけでは動きませんでした。

JAVA_HOME環境変数がJDK 8を指していること、およびJDK 8 binディレクトリへのパスがPATHステートメントの最初にあることを確認してください。他のすべてが失敗した場合は、eclipse.iniファイルを編集してEclipseにJDK 8インストールを強制的に使用させます。

なるほど、そこらへんの設定が必要なのね。。。

まずは、eclipse.iniの確認を行います。これに関しても説明ページがありました
Macなので以下のように対象ファイルを開きます。

  1. 起動しているEclipseのアイコンを右クリックします。
  2. finderでパッケージを開き
  3. eclipse.iniを参照します。

    下のような内容が記載されています。

    -startup
    ../Eclipse/plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
    --launcher.library
    ../../../../../.p2/pool/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.551.v20171108-1834
    -product
    org.eclipse.epp.package.java.product
    -showsplash
    org.eclipse.epp.package.common
    --launcher.defaultAction
    openFile
    --launcher.appendVmargs
    -vm
    /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin
    -install
    /Users/takk/eclipse/java-oxygen/Eclipse.app/Contents/Eclipse/../MacOS
    -configuration
    ../Eclipse/configuration
    -vmargs
    -Dosgi.requiredJavaVersion=1.8
    -Dosgi.instance.area.default=@user.home/eclipse-workspace
    -XX:+UseG1GC
    -XX:+UseStringDeduplication
    --add-modules=ALL-SYSTEM
    -XstartOnFirstThread
    -Dorg.eclipse.swt.internal.carbon.smallFonts
    -Dosgi.requiredJavaVersion=1.8
    -Xms256m
    -Xmx1024m
    --add-modules=ALL-SYSTEM
    -Xdock:icon=../Resources/Eclipse.icns
    -XstartOnFirstThread
    -Dorg.eclipse.swt.internal.carbon.smallFonts
    -Declipse.p2.max.threads=10
    -Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
    -Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
    

    ポイント

  4. JVMの指定がない
  5. JAVA_HOMEの指定がない

なので、ここの部分をeclipse.iniに追記します。

JVMの確認と記述

ターミナルを立ち上げて確認します。ちなみにCodename oneではJava8(JDK1.8)を使用するようです。

java -version

と入力してエンターキーを押すとJavaのバージョンを確認できます。

そして、Mac OSXの場合は/usr/binにコマンドがインストールされているのでeclipse.iniには以下のように追記します。

-vm
/usr/bin

もし、java -verisonで1.8でない場合は下のように直接VM(JDKのjavaコマンド)を指定すると良いです。

-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin
-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin/java

JAVA_HOME

Javaの環境構築で初めにやったきりになりがちなのが「環境変数」です、毎度毎度やっていると覚えるので、慌てて覚える必要はありません。
<Mac, Linux>
$JAVA_HOME: jdk/binが参照されてればよし上のように/usr/binはMacの場合です。
<Windows>
コントロールパネル→システム設定→環境変数の一覧の中にJAVA_HOMEがあり、PATHの中にJAVA_HOMEがあること
確認するときは、コマンドプロンプトでpathと入力する、pathコマンドは環境変数を設定するコマンドなのでpath以外に入力しないようにしてください。path /?でヘルプが見れます。
ちなみにJAVA_HOMEの確認は下のようにecho $JAVA_HOMEで見れます。

Windowsの場合はecho %JAVA_HOME%でけます。