jcreatejar
Creates a Java ARchive (JAR) from a set of files / directories
Syntax
jcreatejar(jarFilePath, filePaths[, rootPath[, manifestFilePath]])
Parameters
- jarFilePath
A string containing the destination file path of the JAR.
- filePaths
A row / column string matrix containing the paths of the input files/directories to include in the JAR.
- rootPath
An optional string setting the path from which the relative paths in the JAR of all the input files/directories will be computed.
- manifestFilePath
An optional string setting the file path of the manifest data to include in the JAR.
Description
Creates a JAR (Java ARchive) file from a set of input files / directories. A common use is to a create Java packages (which contain Java classes).
For example, the function ilib_build_jar uses jcreatejar
to build toolboxes containing Java sources.
But jcreatejar
can also be used to compress files of any type (for example to send them over a network).
Most of times, a JAR file is created from a single tree of files, and the path tree in the JAR file is the same as the input path tree. So when jcreatejar
is given a set of files and directories, it automatically computes the root path of all that files / directories, and set the paths in the JAR relative to that root path. This one can also be explicitly specified in the rootPath
argument.
A JAR file contains a manifest, which contains data to describe the content of the JAR. In the JAR, this manifest is the file MANIFEST.MF
in the META-INF
folder.
The manifest file can be automatically found at that location in the input tree, or the file path to the manifest can be given in the manifestFilePath
argument. If the manifest file cannot be found, a default manifest will be created in the JAR. Note: if a manifest is given, it must contain a version attribute, otherwise the manifest in the JAR will be empty.
The JAR destination file path, stored in the argument jarFilePath
, should have the extension .jar
. The destination JAR file, if it already exists, is overwritten.
Examples
// 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);
See also
- jcompile — Compile Java code or file
- javaclasspath — set and get dynamic Java class path
History
Versão | Descrição |
5.5.0 | Function introduced. |
Report an issue | ||
<< jcompile | Java from Scilab | jdeff >> |