A.4.1使Java类可用

Java通过搜索classpath其是包含类文件的Javaarchive文件和/或目录的列表。在Octave中classpath从两部分组成:

Octave搜索static classpath首先,然后dynamic classpath。中出现的类static classpath,以及中dynamic classpath,因此将在中找到static classpath并从该位置加载。将频繁使用或必须对所有用户都可用的类应添加到static classpath这个static classpath从名为的纯文本文件的内容中填充一次javaclasspath.txtclasspath.txt历史上)。该文件为要添加到static classpath。这些行可以标识包含类文件的目录,或具有完整类文件层次结构体的Java存档。以'开头的注释行#或a%字符被忽略。

文件的搜索规则javaclasspath.txtclasspath.txt

仅从特定脚本使用的类应放置在dynamic classpath。类路径的这一部分可以使用javaaddpathjavarmpath函数。

用例

octave> base_path = "C:/Octave/java_files";

octave> # add two JAR archives to the dynamic classpath
octave> javaaddpath ([base_path, "/someclasses.jar"]);
octave> javaaddpath ([base_path, "/moreclasses.jar"]);

octave> # check the dynamic classpath
octave> p = javaclasspath;
octave> disp (p{1});
C:/Octave/java_files/someclasses.jar
octave> disp (p{2});
C:/Octave/java_files/moreclasses.jar

octave> # remove the first element from the classpath
octave> javarmpath ([base_path, "/someclasses.jar"]);
octave> p = javaclasspath;
octave> disp (p{1});
C:/Octave/java_files/moreclasses.jar

octave> # provoke an error
octave> disp (p{2});
error: A(I): Index exceeds matrix dimension.

将文件添加到的另一种方法dynamic classpath仅用于您的用户帐户的是使用该文件.Octave它存储在您的主目录中。每次启动Octave的新实例时,都会执行此文件中的所有Octave命令。以下示例添加目录八度到Octave的搜索路径和存档myclasses.jar在此目录中指向Java搜索路径。

# contents of .octaverc:
addpath ("~/octave");
javaaddpath ("~/octave/myclasses.jar");

版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2