Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Java from Scilab > jcreatejar

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 — set and get dynamic Java class path

履歴

ВерсияОписание
5.5.0 関数が導入されました.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:18 CEST 2014