jcreatejar
ファイル/ディレクトリからJava ARchive (JAR) を作成
呼び出し手順
jcreatejar(jarFilePath, filePaths[, rootPath[, manifestFilePath]])
パラメータ
- jarFilePath
JARのファイルパスの説明を有する文字列.
- filePaths
JARに含まれる 入力ファイル/ディレクトリのパスを有する 行/列文字列行列
- rootPath
オプションの文字列で, 全ての入力ファイル/ディレクトリのJARにおける 相対パスを計算する際に使用されるパスを設定.
- manifestFilePath
オプション文字列で, JARに含まれるmanifestデータのファイルパスを指定.
説明
一連の入力ファイル/ディレクトリからJAR (Java ARchive) ファイルを
作成します.
典型的な使用例は, (Javaクラスを含む) Javaパッケージです.
例えば, 関数
ilib_build_jar は
Javaソースを有するツールボックスを構築する際に
jcreatejar
を使用します.
しかし, jcreatejar
は任意の型の
ファイルを圧縮する際にも使用できます
(例えば, ネットワーク経由でファイルを送信する場合).
多くの場合, JARファイルは単一のファイルツリーから作成され,
JARファイル内のパスツリーは入力パスツリーと同じです.
このため, jcreatejar
に
一連のファイルとディレクトリが指定された場合,
これらのファイル/ディレクトリのルートパスを自動的に求め,
ルートパスに対して相対的にJAR内のパスを設定します.
ルートパスはrootPath
引数により
明示的に指定することも可能です.
JARファイルはJARの内容を記述するデータを含むmanifestを有します.
JAR内では, このmanifestはMETA-INF
フォルダの
ファイルMANIFEST.MF
です.
このmanifestファイルは自動的に入力ツリーのこの場所で見つけるか,
manifestFilePath
引数でmanifestのパスを
指定することができます.
manifestファイルが見つからない場合,デフォルトのmanifestが
JAR内で作成されます.
注意: manifestが指定された場合, version 属性を有する必要があります.
そうでない場合, JAR内のmanifestは空になります.
引数 jarFilePath
に保存された
JARディストリビューションのファイルパスは
は拡張子 .jar
を有している必要があります.
出力先のJARファイルが既に存在している場合,
上書きされます.
例
// Example of jcreatejar: create a JAR containing a Java package // Create a directory for package sources jar_src_path = fullfile(TMPDIR, 'jarPackageExample'); mkdir(jar_src_path); // Create a Java source and compiles it to a Java class function createJavaClass(class_name, code) class_src_path = fullfile(jar_src_path, class_name + '.java'); fd = mopen(class_src_path, 'wt'); mputl(code, fd); mclose(fd); jcompile(class_src_path); endfunction // Create a class in the root of the package createJavaClass('Class1', msprintf( .. 'package jarPackageExample;\n' + .. 'public class Class1 {}')); // Create another class in a folder of the package mkdir(fullfile(jar_src_path, 'folder')); createJavaClass('folder/Class2', msprintf( .. 'package jarPackageExample.folder;\n' + .. 'public class Class2 {}')); // The compiled package is in TMPDIR in JIMS folder jar_tmp_path = fullfile(TMPDIR, 'JIMS/bin/jarPackageExample'); // Create the package JAR jar_dest_path = fullfile(TMPDIR, 'jarPackageExample.jar'); jcreatejar(jar_dest_path, jar_tmp_path);
// Example of jcreatejar: create a JAR containing images, and add a manifest // Create the manifest file manifest_path = fullfile(TMPDIR, 'MANIFEST.MF'); manifest = msprintf('Manifest-Version: 1.0\nName: Scilab images'); fd = mopen(manifest_path, 'wt'); mputl(manifest, fd); mclose(fd); // Create the JAR jar_src_path = fullfile(SCI, 'modules/gui/images/icons'); jar_dest_path = fullfile(TMPDIR, 'jarImagesExample.jar'); jcreatejar(jar_dest_path, jar_src_path, '', manifest_path);
参照
- jcompile — Javaコードまたはファイルをコンパイルする
- javaclasspath — 動的Javaクラスパスを設定/取得
履歴
バージョン | 記述 |
5.5.0 | 関数が導入されました. |
Report an issue | ||
<< jcompile | Java from Scilab | jdeff >> |