全局导入同一个类

时间:2011-10-17 08:36:04

标签: java matlab import

我有一个名为getFeatures.m的函数文件,如下所示:

function [features] getFeatures()
  % Import the XPath classes
  import javax.xml.xpath.*
    % other code  
end
function [name] = getName()
  % Import the XPath classes
  import javax.xml.xpath.*
    % other code
end

正如你所看到的,这两个函数都导入了xpath库,因为我有很多需要导入该类的函数我怎么能这样做一次呢?

1 个答案:

答案 0 :(得分:2)

我偶然发现了同样的问题。我的个人(和丑陋!)解决方法是定义一个执行导入的方法;你仍然需要调用该函数,但至少它将导入分组在一个地方,尽管是在字符串内。

function cmd  = initJava()
    cmd = 'import package.*';
    if nargout == 0
        warning('off','MATLAB:Java:DuplicateClass');
        evalin('caller',cmd);
        warning('on','MATLAB:Java:DuplicateClass');
    end;
end

可以将其称为initJava()eval(initJava())。如果我没记错的话,第一个并不总是按照它应该做的那样做,但你必须自己测试一下。

如果某人有更好/更好/其他解决方案,我很有兴趣听到那个。