BAD*_*EED 6 java import matlab
我有一个名为的函数文件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
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这两个函数都导入了xpath库,因为我有很多需要导入该类的函数,我怎么能这样做一次?
我偶然发现了同样的问题。我个人的(而且丑陋的!)解决方法是定义一个执行导入的方法;您仍然需要调用该函数,但至少它将导入分组在一个位置,尽管是在字符串内部。
function cmd = initJava()
cmd = 'import package.*';
if nargout == 0
warning('off','MATLAB:Java:DuplicateClass');
evalin('caller',cmd);
warning('on','MATLAB:Java:DuplicateClass');
end;
end
Run Code Online (Sandbox Code Playgroud)
这可以称为 asinitJava()或eval(initJava())。如果我没记错的话,第一个并不总是做它应该做的事情,但你必须自己测试一下。
如果有人有更好/更好/其他的解决方案,我很想听听。