javasci v2でコンパイル/実行 Javasci v2によりJavaアプリケーションをコンパイルする方法

## Linux/Unix/MacOSX

Linux/Unix/MacOSXでは, Scilab は グローバル変数SCIを以下のように設定する必要があります:

- バイナリ版のScilabでは, SCI は `/path/to/scilab/share/scilab/`を指します

- Scilabのソースツリーでは, SCIはソースツリーのルート `/path/to/scilab/source/tree/`を指します

Javasci v2でJavaアプリケーションをコンパイルする際, 以下のライブラリへのパスをclasspathに追加する必要があります:

- `org.scilab.modules.javasci.jar` (全てのJavasciアプリケーションで必要)
- `org.scilab.modules.types.jar` (アプリケーションが Javasci型を使用する場合)

例に示すコード(コードはこのページに後述)をコンパイルするためには, 以下のようにコマンドラインに入力します:

`javac -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample.java`

Javaアプリケーションを起動するには, 以下のどちらかにより, libjavasci ネーティブライブラリへのパスを 指定する必要があります:

- LD_LIBRARY_PATHで指定:

  - バイナリ版のScilabでは, LD_LIBRARY_PATH は `/path/to/scilab/lib/scilab/` および `/path/to/scilab/lib/thirdparty/`を指します

  - Scilabのソースツリーでは, LD_LIBRARY_PATH は ソースツリーのルート `/path/to/scilab/modules/javasci/.libs/`, `/path/to/scilab/modules/types/.libs/` および `/path/to/scilab/.libs/` を指します.

  アプリケーションは以下のコマンドライン入力により実行します:

  `java -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample`

- または, コマンドラインで, javaの引数として指定します:

  `java -Djava.library.path=/path/to/libjavasci/:/path/to/scilab/lib/thirdparty/ -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample`

## Windows

このパラグラフでは, Scilabがディレクトリ `C:\Program Files\scilab-XXXX` (ただし, XXXX は Scilabのバージョン, 例えば"5.4.0") にインストールされていると仮定します.

Windowsでは, 特定の環境変数を定義する必要はありません.

JavaアプリケーションをJavasci v2によりコンパイルするには, 以下のライブラリへのパスをclasspathに追加します:

- `org.scilab.modules.javasci.jar` (全てのJavasciアプリケーションで必要)
- `org.scilab.modules.types.jar` (アプリケーションがJavasci型を使用する場合)

例に示すコードをコンパイルする, コマンドラインを示します:

`javac -cp "C:\Program Files\scilab-XXXX\modules\javasci\jar\org.scilab.modules.javasci.jar;C:\Program Files\scilab-XXXX\modules\types\jar\org.scilab.modules.types.jar";. BasicExample.java`

実行の際には, ネーティブライブラリlibjavasci.dllと それが依存するものへのパスを環境変数PATHに追加する必要があります. 必要な全てのライブラリは"bin"フォルダにありますので, コマンドラインは以下のようになります:

`set PATH="C:\Program Files\scilab-XXXX\bin";%PATH%`

Javaアプリケーションを起動する際のコマンドラインはLinuxとほぼ同じです:

`java -cp "C:\Program Files\scilab-XXXX\modules\javasci\jar\org.scilab.modules.javasci.jar;C:\Program Files\scilab-XXXX\modules\types\jar\org.scilab.modules.types.jar";. BasicExample`

## オプション

javaを起動する際のオプション : `-Djava.compiler=JIT -Xmx256m`

(これらの引数を指定すると, javasci は 標準scilabと同様に同じ初期オプションを指定して起動されます.

特定のニーズに基づき以下の2つの環境変数が使用される ことに注意してください:

- `SCI_DISABLE_TK=1` はTk (TclのGUI)を無効にします

- `SCI_JAVA_ENABLE_HEADLESS=1` は, Javaをヘッドレスモード(AWT/Swingなし)で起動します.

## 例

    // 簡単な Javaの例
    // javasci v2
    // Filename: BasicExample.java

    import org.scilab.modules.javasci.Scilab;
    import org.scilab.modules.types.ScilabType;

    class BasicExample {

        public static void main(String[] args) {
            try {
                Scilab sci = new Scilab();
                sci.open();
                sci.exec("a=cos(%pi)*sin(%pi^2);");
                ScilabType a = sci.get("a");
                System.out.println("a = " + a);
            } catch (org.scilab.modules.javasci.JavasciException e) {
                System.err.println("Could not find variable type: " + e.getLocalizedMessage());
            }
       }
    }

## 参照

- Javasci v2の文書を閲覧.
- Javasci
- Javasci FAQ