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%でけます。

JUnit 開発方法〜テスト駆動型開発のススメ〜

イントロダクション

U16プログラミングコンテストのサーバーに接続するクライアントアプリをJavaで実装しようという試みを行っております。

その最中にちょうど、テスト駆動型開発をやることにしたのでメモがてらに記載します。

テスト駆動型開発?

早い話が「テストを初めに作る」ということなのですが、世間ではどのような認識をしているのか、よくわかっていません。かと言って自分の認識が正しいと思っているわけではないのですが、自分の解釈はこーというものを記載します。

テストを初めに作る

テストを初めに作るということは「仕様を明確にしてやる」ということになります。つまり以下のように仕様を明確にします。

  1. サーバーから受信するデータは1回の操作で3回ある
    ・GetReady: 現在位置を受信
    ・操作コマンド: 操作によるレスポンスを受信
    ・動作終了"#": 現在位置を受信
  2. GetReadyで受信した情報から周囲の確認を行う
    ・ブロック(その場所に移動するとゲームオーバー)の位置
    ・相手(プレーヤ)がいるかどうか
    ・アイテムがあるかどうか
  3. 操作コマンドの受信結果による次の動作の決定
    ・仕様未決定
  4. 動作終了時の処理
    ・これも周囲の確認処理を行う
  5. 操作を行いながら自分の位置を確認するためのMapを作成する
    ・マップのサイズは15 x 17のサイズ
    ・プレーヤーの初期位置はランダムに決定する
    ・使用できるコマンドはSearch, Put, Walk, Lookなど詳細はこちら(U16旭川プログラミングコンテスト)

以上のような仕様で実装します、未決定の部分に関してはこれから考えます。

テスト作成の前に

まずはクラス構成を考えます(詳細設計)。これは規模としては小さいものなので単純にデータを送受信するU16ProconClientクラスとクライアントの細かい操作(マップを作ったり、次の動作を確認したり。。。)を担当するClientManagerクラスの2つを作成します。

U16ProconClientクラスは、実際にサーバーとのやりとりを行いながらやったので割愛します。

ClientManagerの実装

このクラスは、作成する時に上記で決めた仕様を先に実装します。具体的に以下のように実装します。作成したクラスはTestNd4jです。そして、JUnitの作成方法に関してはこちらのページを参照下さい。

まずは仕様を満たすための実装手順をテストケースに書きます。これは仕様の5番目にある部分を実装するために必要な処理なので、上の仕様を満たすための処理のテストケースです。コメントにある「2.移動した時にMapを。。。」とあるぶぶに関しては今後のことを考えて同じようにテスト(実装方法の確認)を行なった次第です。

/**
 * ClientManagerのコンストラクタで、マッピング用行列を初期化する。
 * 1.初期化時に中身を4で埋める
 * 2.移動した時にMapを拡張するので配列の拡張方法も確認
 */
@Test
public void testCreateINDArray() {
	// INT型データの行列を作成する
	INDArray data = Nd4j.create(new int[] {3, 3});
	System.out.println("*** init zeros***");
	System.out.println(data);
	System.out.println("*** putScalar ***");
	System.out.println(data.putScalar(new int[] {2, 1}, 1.0));
	System.out.println("*** init ones ***");
	// 1の値で初期化された配列に全て3を足す
	INDArray reData = Nd4j.ones(new int[] {3, 3}).addi(3);
	System.out.println(reData);
	System.out.println(Nd4j.pad(reData, new int[] {6,  6}, Nd4j.PadMode.CONSTANT));
}

このような形で、仕様→テストケース→実装とやって行くのが自分の認識している「テスト駆動型開発」です。

実装の例(作成中)

/** 自分の周りをチェックするメソッドのテストケース */
@Test
public void testCheckAround() {
	//// 本当はメソッド1つにつき1ケースのテストを行うが、小さなテストなので勘弁してください。。。 ////
	try {
		Method test = this.getPrivateMethod("checkAround", String.class);
		// テストケース1:周囲にアイテムがある場合
		target.setBufMap(new String[] {"0", "0", "0","0", "0", "0", "0", "0", "0"});
		test.invoke(target, "1010010010");
		//(これから実装)テストケース2:周囲に相手プレーヤがいる場合
		//(これから実装)テストケース3:行動できるスペースにブロックがあるかどうか
	} catch (SecurityException e) {
		e.printStackTrace();
		fail("セキュリティ違反です。");
	} catch (InvocationTargetException e) {
		e.printStackTrace();
		fail("メソッド実行時エラーです。");
	} catch (IllegalAccessException e) {
		e.printStackTrace();
		fail("アクセス違反です。");
	} catch (IllegalArgumentException e) {
		e.printStackTrace();
		fail("メソッドの引数違反です。");
	}
}

仕様を先に持ってくるから仕様を詰めて考えたい人(ほとんどの人がそうだと思う)にはうってつけの開発手法だと思います。

Maven利用の場合

ちなみにMavenを使用してJUnitを入れるときは以下のようなコードを追加します。<project>タグの中に入れてください。

  <properties>
   <junit.version>4.12</junit.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>

でわでわ。。。



Eclipse インストール方法~windowsへのインストール~

Windows端末へのEclipseインストール方法

1.Eclipseのインストールページ(MergiDocProject)へ移動し「最新版」の部分をクリックします。下の画面では一番左上のものがそうでした。

2.下の赤枠で囲んだものを選択してやるとあまり重くないスタンダードなものがダウンロードできます。これにプラグインなどをたくさん追加するとめちゃくちゃ重いのですが、最近の(PentiamⅢ以降)のものはサクサク動くと思います。。。環境に依存するので何とも言い難し。。。

上の赤い部分をクリックすると下のような画面が表示され、対象のファイルをダウンロード開始しました。大体5分くらいかかりました。(ネットワークのスピードなども影響するのでおおざっぱなアタリ程度に】

そして、ダウンロードしたものをC:\フォルダ 直下に回答します。

そして、Eclipse.exeを起動(ダブルクリック)すると起動できます。EXEファイルは「C:\pleiades\eclipse」の位置にあるのでそいつを起動します。

そしてうまく動かないときは、多少時間がたってからですが、下のようなログが出力されます。

一番上の部分を見てください「java was started but returned exit code = 13」と書いてありました。なのでこいつをコピーしてググります。そしてたらこちらのページが引っ掛かったので見てみるとJDKのインストールとかの記載があります。

まとめると「JDKがきどうできないよ」というエラーでした。なのでJDKを使用できるように設定します。

Eclipse.ini:設定ファイル

動かないときは、下の位置にある「Eclipse.ini」ファイルを開いてみてください。Windowsの設定によっては拡張子が表示されません。

ちなみに「フォルダオプションで拡張子を表示する設定を行うと拡張子が見れます。

そしてここにはEclipseを起動するときの設定が記載されています。

不足分を追加してやると動きます。上にあげたケース(自分の場合)はJDKはあるけどそれが「Eclipseにあっていないよ」というエラーメッセージでした。

なので、使用できるJDKを使用してEclipseを動かします。

結論

eclipse.iniに下のような設定を行います。

-vm
C:\jdk1.8.0_45_glassfish\bin\java.exe

上が実行結果です。

 

でわでわ。。。

 

Java DB 起動〜Derbyの起動〜

イントロダクション

JavaDB、Derbyの起動について記載します。DerbyはJDK=Javaをインストールしたら一緒についてきます。JDKつまり下のキャプチャになります。

Java(JDK)のインストール先から「db」と言うフォルダがあればインストール済みと言うことです。

起動するためにどうやるのか?

起動するのには大まかに2つのタイプがあります

  1. サーバータイプ:「ij」コマンドでDerbyを起動して、それにアクセス
  2. Embedタイプ:システムプロパティに起動する場所を設定して起動する

今回は2の「Embed」タイプの起動を行います。

  1. Derbyを起動する場所を指定する
  2. エンコード指定をする

<実際のコード>

String url = "jdbc:derby:/Users/takk/eclipse-workspace/AutoBlogPoster/db;create=true";
try {
        // システムのホーム=>Derbyを起動する場所
	System.setProperty("derby.system.home", "/Users/takk/eclipse-workspace/AutoBlogPoster/");
        // エンコードの指定
	System.setProperty("derby.ui.codeset", "UTF8");
        // 指定した場所で起動するDBのコネクションを取得する
	con = DriverManager.getConnection(url);
        // オートコミットする設定
	con.setAutoCommit(true);
        // SQLを実行するためのオブジェクト
	stm = con.createStatement();
        // SQL文
	String isTable = "select * from BUNSETSU_MST";
        // SQLの実行と実行結果取得
	ResultSet rs = stm.executeQuery(isTable);
	while(rs.next()) {
		String st = rs.getString(1);
		System.out.println(st);
	}
} catch(SQLException e) {
	e.printStackTrace();
} finally {
	try {
                // SQLを実行するオブジェクトを閉じる
		stm.close();
                // コネクションを閉じる
		con.close();
                // オブジェクトの解放(メモリ解放)
		stm = null;
                // 同上
		con = null;
	} catch(SQLException e) {
		e.printStackTrace();
	}
	
}


TensorFlow Java 環境構築〜JavaでもTensorFlow〜

イントロダクション

前回まではPythonでのTensorFlowのチュートリアルを一通り(Text Classificationまで)やりました。

  1. Python Tensorflow 〜初めての人工知能〜
  2. Tensorflow Keras〜初めのトレーニング_1〜
  3. Tensorflow Keras〜初めのトレーニング_2:前処理〜
  4. TensorFlow Keras〜テキストの分類〜
  5. TensorFlow Keras〜回帰、準備から予測まで〜

今回はJavaで、もう少し深掘りしてみようと思います。参考サイトはこちら

Javaでの環境構築

eclipseでMavenプロジェクトを作成します。(シンプルプロジェクトでもWebProjectでも大丈夫)。そして、POMファイルを編集します。参考サイトの記載を追加してMavenインストールを行うだけです。

サンプルとして、既存のプロジェクトですが以下のようになっています、POMファイルがある状態でMavenプロジェクトになっていればOKです。

<元のPOMファイル>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>zenryokuservice</groupId>
  <artifactId>gui.mtm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>gui.mtm</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
         <groupId>org.joml</groupId>
         <artifactId>joml</artifactId >
         <version>1.9.6</version >
    </dependency>
    <dependency>
         <groupId>org.l33tlabs.twl</groupId>
         <artifactId>pngdecoder</artifactId>
         <version>1.0</version>
   </dependency>
  </dependencies>
</project>

<変更後POMファイル>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>zenryokuservice</groupId>
  <artifactId>gui.mtm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>gui.mtm</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
         <groupId>org.joml</groupId>
         <artifactId>joml</artifactId >
         <version>1.9.6</version >
    </dependency>
    <dependency>
         <groupId>org.l33tlabs.twl</groupId>
         <artifactId>pngdecoder</artifactId>
         <version>1.0</version>
   </dependency>
   <!-- TensorFlow -->
   <dependency>
     <groupId>org.tensorflow</groupId>
      <artifactId>tensorflow</artifactId>
      <version>1.12.0</version>
     </dependency>
 </dependencies>
</project>

太字の部分を追記しました。

一番しから3行文がTensorFlowのライブラリです。

この状態でサンプルコードを実行するとエラリます。。。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot find TensorFlow native library for OS: darwin, architecture: x86_64. See https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java/README.md for possible solutions (such as building the library from source). Additional information on attempts to find the native library can be obtained by adding org.tensorflow.NativeLibrary.DEBUG=1 to the system properties of the JVM.
at org.tensorflow.NativeLibrary.load(NativeLibrary.java:77)
at org.tensorflow.TensorFlow.init(TensorFlow.java:66)
at org.tensorflow.TensorFlow.<clinit>(TensorFlow.java:70)
at org.tensorflow.Graph.<clinit>(Graph.java:361)
at zenryoku.servise.app.autoblog.AutoBlogPoster.helloTensorflow(AutoBlogPoster.java:225)
at zenryoku.servise.app.autoblog.AutoBlogPoster.main(AutoBlogPoster.java:258)

ネイティブライブラリが足りないようです。参考サイトよりネイティブライブラリをダウンロードします。自分の端末はMacなのでmacのものを選択します。

そして解凍します。ここのフォルダをネイティブライブラリのパスとして登録します。

そして、プロジェクトのプロパティを開き以下のようにネイティブライブラリのパスを設定します。Java Build Path -> Native Library Location -> Edit

そして実行すると以下のようにバージョン番号が出力されます。

とりあえずはこれでTensorFlow in Java が起動できます。

 


Git 作成 プッシュ〜コマンドでの新規登録 ワンポイントレッスン〜

イントロダクション

コマンドでのリポジトリ登録です、GUIよりも簡単にできます。

コマンドでのリポジトリ登録

Gitでリポジトリを作成すると下のような画面が見れます。

ここのコマンドを順番に入力するだけです。


ローカルにgitリポジトリを作成する

# リポジトリのディレクトリ(フォルダ)作成
mkdir ripositoryName
# 移動
cd ./ripositoryName
# gitの初期化
git init

リポジトリに登録するファイルを追加

git add sakuseiFile

ちなみに上の画面では「README」ファイルをコマンドで作成しています。

※ehco "XXXX" > README.md -> 「XXXX」がファイルの中に書き込まれます。

リモートリポジトリの登録

git remote add origin https://github.com/ZenryokuService/tensorflow.git

プッシュ

git push -u origin master

お疲れ様でした。

Java BlueJ 〜インストール〜

BlueJ

よりJavaを身近にコーディングできるであろうIDEがありました。

上のリンクからダウンロードできます。

そして、Macの場合は、ダウンロード後にファイルを解凍してファイルをダブルクリックします。

<ダウンロード後>

Zipファイルが解凍されて、フォルダになっています。

<起動ファイル>

「BlueJ」というファイル名です、これをダブルクリックで起動します。

プログラムを作成するときは、左上のメニューから新規作成をクリックします。

とりあえず、クラスを作成した段階で基本的なコードが出力されているので参考になると思います。


C/C++ Micro:bit(Chibi:bit) 〜オンライン コンパイラ(ワークスペース)の使い方〜

イントロダクション

前回は、Microbitにサンプルプロジェクトをインポートしました。

今度はそれをどのようにして動かすのかを学びます。とりあえずはセットアップがまだ続くようです。

オンラインコンパイラの使い方

プロジェクトのインポートを完了したら下の画面のようにある「コンパイル」をクリックします。

すると「〜HEX」ファイルが出力(ダウンロード)されるのでそれをMirobitにインストールします(HEXファイルを配置します)

※HEXファイルをMicrobitにコピーした時にMicrobitの接続が切れてしまう時があるようです。自分の場合は一度外して再度接続したらプログラムがちゃんと起動しました。

 

Java Tomcat〜Webサーバをインストール〜

Javaでクロス!モンハンじゃないよ?

イントロダクション

Micro:bitでボタンを押したらWeb画面に何かを表示しようと考えています。

サンプルとして、良いページ(Microbit)があったのでそれを見てマイクロビットを設定しました。

ブラウザを使うなら。。。

仕事でもよく使うWebサーバーを立ててそこにマイクロビットでリクエストを飛ばすようにしようと思います。

これで小規模のアプリでも楽しめそうだ。

そんなわけで、Eclipseを開き。。。

Tomcatプラグインを追加します。

真ん中の猫だか虎だかわからないやつです。

プラグインのインストールが終わったら、Eclipseの再起動が走ります。

Eclipseが起動したら。。。

左のようなアイコンがEclipseの上部にいると思います。これでプラグインのインストールは完了です。

Tomcatサーバーのインストール

Tomcatサーバーのページからダウンロードします。

上のキャプチャにあるtar.gz.ファイルはMacとかリナックス(Zipもいけそうだが…)他はウィンドウズとか書いてあります。ちなみに自分は「Tomcat8」をダウンロードしました。JDK1.8を使用しているからです。

ダウンロードしてから解凍して、適当な場所に解凍します。ここでいう「適当」というのは、「Eclipseから参照しやすい」という意味です。

Eclipseに戻り、Tomcatの設定

「Mac」 Eclipse -> Preference

「Windows」  wIndow -> Preference

上のような画面を開きます。「Tomcat」を選択してダウンロードしたバージョンを選択します。Tomcat8なら。。。

Tomcatホームを設定

Version8を選択

Tomcatホームに先ほど解凍したTomcatのフォルダを指定する

そして「Apply」でおっけー

プロジェクトの作成

プロジェクトエクスプローラ(プロジェクのところ)を右クリックしてプロジェクトの作成を開きます。

Tomcatプロジェクトを指定して、プロジェクト名をつけます。

今回は「MicrobitServlet」と名前をつけました。

上のようなディレクトリ構成(フォルダ構成)ができていると思います。

そして、プロジェクトを右クリックして「Tomcatプロジェクト」->「Tomcatライグラリをプロジェクトのビルドパスに追加」を選択するとビルドパスにTomcatのライブラリが登録されます。

ビルドパスはここね!

解凍したフォルダの「lib」直下にあるJARファイルです。パスとしては「TOMCAT_HOME(Tomcatを解凍したフォルダ)/lib」になります。

ちなみに、OpenCV、JavaFXなど外部のライブラリ(JAR)を使用するときは必ずビルドパスを使用するので、ビルドパスを理解しておくと後が楽です。

「プロジェクトのビルドパスに〜」

「ビルドパスのさしている場所」

ビルドパスを通した後

ちなみにサーブレット(Spring, Playフレームワーク, SeaSaa, Struts」などもservlet-api.jarは使用しています。JavaEEも当然使用しています。

サーバーを動かす

画面上部のの一番左側をクリックしてください

こんな感じでTomcatが起動します。

「情報: Server startup in 26924 ms」のような文言が出力されたら起動完了です。

ブラウザで「localhost:8080」と入力して画面を開いて見ましょう。

サーバー起動確認完了!


関連ページ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. Java Basic JUnit 〜テストスイートの作り方〜
  3. Java Basic インターフェース・抽象クラスの作り方
  4. Java Basic クラスとは〜Step2_1〜

Eclipse SceneBuilderを追加する

イントロダクション

OpenCVの学習を始めるのは良いが、JavaFXを使用する様で。。。(画面の確認などのため)

参照したページはOpenCVのチュートリアルです。
仕方ないのでプラグインを追加することにしました。

SceneBuilderのインストール

オラクルのサイトからダウンロードする様です。

スクリーンショット 2018-11-17 15.20.53.png

自分は、Macを使用しているので「dmg」ファイルを選択します。

スクリーンショット 2018-11-17 15.22.31.png

こんな感じでインストールします。

Eclipseでの起動

Eclipseで設定を開き、JavaFXを選択します。すると右のほうにボタンがあるのでそいつをクリックすると。。。

スクリーンショット 2018-11-17 15.25.42.png

ファイルを選択する様に言われますので、先ほどインストールしたApplicationを参照するとSceneBuilderが見つかります。これを選択して設定します。

スクリーンショット 2018-11-17 15.24.35.png

そしてFXMLファイルを右クリックして起動します。