【问题标题】:Import same class globally全局导入同一个类
【发布时间】:2011-10-17 08:36:04
【问题描述】:

我有一个名为 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 库,因为我有很多函数需要导入该类,我该如何一次性完成?

【问题讨论】:

  • 为什么不把 import 放到函数之外呢?

标签: java matlab import


【解决方案1】:

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

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())。如果我没记错的话,第一个并不总是做它应该做的事情,但你必须自己测试一下。

如果有人有更好/更好/其他的解决方案,我很想听听那个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    相关资源
    最近更新 更多