我想知道将.jar文件导入Matlab时可用的类是什么。
我对whos
或标签自动填充功能感兴趣。
首先,我使用javaaddpath
将相关文件添加到搜索路径中。
接下来我该怎么办?
答案 0 :(得分:1)
我担心没有办法让标签自动完成工作于java类,但是有很多方法可以发现jar文件的内容并检查类。
使用JDK,jar tf
命令列出jar中的文件,包括类。使用javap
获取有关特定课程的更多详细信息。没有必要使用Matlab - 您可以只使用命令行,但如果您愿意,可以使用system
函数从Matlab运行相同的命令。
您可以像浏览普通的zip存档一样浏览jar存档,例如:使用7zip。
只是检查jar文件包含某个类并不一定意味着它可以在Matlab中运行。如果缺少某些jar依赖项,或者当main jar在静态java类路径上时动态添加,或者例如如果jar是用后来的java版本编译的,那么将不会加载类(并且在javaaddpath
期间也不会有例外,这可能会令人困惑)。要验证某个类是否已正确加载,并检查它所在的jar文件(以防万一您的类被屏蔽),请使用Andrew Janke在this answer中提供的whereisjavaclassloadingfrom
函数
您可以使用uiinspect
FEX utility通过Matlab方便的用户界面浏览特定类的方法和属性。
您可以使用Reflections Library来例如find all classes in a given package