Java通过搜索classpath其是包含类文件的Javaarchive文件和/或目录的列表。在Octave中classpath从两部分组成:
Octave搜索static classpath首先,然后dynamic classpath。中出现的类static classpath,以及中dynamic classpath,因此将在中找到static classpath并从该位置加载。将频繁使用或必须对所有用户都可用的类应添加到static classpath这个static classpath从名为的纯文本文件的内容中填充一次javaclasspath.txt或classpath.txt历史上)。该文件为要添加到static classpath。这些行可以标识包含类文件的目录,或具有完整类文件层次结构体的Java存档。以'开头的注释行#或a%字符被忽略。
文件的搜索规则javaclasspath.txt或classpath.txt是
Octave主机
/份额/Octave/Octave版本
/m/java/。您可以通过执行命令找到此目录which javaclasspath
如果此文件存在于此处,则其内容也会附加到static classpath。请注意,在最后一步中定义的归档文件和类目录将影响所有用户。
仅从特定脚本使用的类应放置在dynamic classpath。类路径的这一部分可以使用javaaddpath
和javarmpath
函数。
用例
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