java - Matlab:如何动态使用javaaddpath

标签 java matlab classpath

我想使用 javaaddpath 在我的 Linux 和 Windows 计算机上添加不同的路径。

但是,我希望它是真正的动态分配。换句话说,用户可以定义自己的 Path_Str = ' ....../ParforProgMonv2/java' 并在这一步传递: pctRunOnAll javaaddpath (Path_Str)

打开matlab池后,我想做这样的事情:

if strcmp(MonitorProcess, 'Yes')
    %add this line for progress monitor
    pctRunOnAll javaaddpath ('/home/dkumar/ParforProgMonv2/java')
end

但是,我想包含在之间选择的动态路径,而不是固定路径'/home/dkumar/ParforProgMonv2/java'

'/home/dkumar/ParforProgMonv2/java''C:/Users/DK_GS/ParforProgMonv2/java'

取决于我的电脑是windows还是linux。

我试图关注this solution使用ClassPathHacker.java;然而,不明白。

一些帮助将不胜感激。

最佳答案

这样的东西有用吗?

searchpath = 'ParforProgMonv2/java'; % Directory to search for

if strcmp(MonitorProcess, 'Yes')
    switch computer
        case {'PCWIN', 'PCWIN64'}
            % 32 or 64 bit Windows
            % Use the system command to return all directories found on the machine
            % that match your search directory. Use a regex to clean up the list
            [~, cmdout] = system(['dir /s/b/AD | find "' searchstr '"');
            allpaths = regexp(cmdout, '(.:\\[\w\-\\. ]+\w+(?=\s))', 'match'); % Split directory names, 1st cell should be the top level
            pctRunOnAll javaaddpath (allpaths{1})
        case 'GLNXA64'
            % Linux
            pctRunOnAll javaaddpath ('/home/dkumar/ParforProgMonv2/java')
        otherwise
            % Insert error handling here
    end
end

哪里computer返回一个字符串,指定当前正在运行的计算机类型。

编辑:根据您的评论,我建议添加一个方法来搜索您的文件路径并返回一个字符串。我添加了一个 Windows 示例;我对 Linux 不太熟悉,无法正确翻译。

关于java - Matlab:如何动态使用javaaddpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30216342/

相关文章:

Java:将二维数组转换为具有组织和随机数的一维数组

c# - 哪个更好 : dictionary or hashtable

c - 如何使用 Embedded Coder 在 MATLAB 中内联 Level-2 .m S-Functions

arrays - 通过水平切片 reshape 数组(Matlab)

java - 尽管在类路径环境变量中添加了 tomcat lib\servlet-api.jar,但包 javax.servlet 不存在

java - PathMatchingResourcePatternResolver (spring) 用法

java - 如何仅从主数据库执行读取操作

algorithm - 矢量化: friend 还是敌人? bsxfun/arrayfun 避免循环、repmat、置换、挤压等

java - Selenium:注解类型不适用于这种声明

JavaFX 从 TabContent(Node) 访问 Tab 或 TabPane