小编use*_*111的帖子

Matlab在jar包中看不到我的一些java类(不是全部)

我有一个让我疯狂的问题.Matlab只看到我的一些类嵌入在JAR文件中

如果我在一个包之外编译类并使用javaaddpath在Matlab中添加该类的路径,我没有遇到任何问题

当我在一个包中编译该类然后尝试在Matlab下访问它时,我遇到了问题.下面是一些Matlab代码

>>javaaddpath('/Users/me/Documents/workspace/EKGTest.jar');
>>clear java
>>import com.neurosky.thinkgear.*
>>methods('EkgSense')

Methods for class com.neurosky.thinkgear.EkgSense:

EkgSense                  getClass                  notify                    reset            
addTemplate               getClassificationResults  notifyAll                  toString
equals                    hashCode                  processData               wait   

>>methods('EkgEpoch')

No methods for class EkgEpoch or no class EkgEpoch
Run Code Online (Sandbox Code Playgroud)

现在,我查看包中,所有类都是公开的.这是结果jar -tf

osx:/Users/me/Documents/workspace> jar tf EKGTest.jar
META-INF/MANIFEST.MF
META-INF/REFACTORINGS.XML
com/
com/neurosky/
com/neurosky/thinkgear/
com/neurosky/thinkgear/EkgEpoch.class
com/neurosky/thinkgear/EkgEpoch.java
com/neurosky/thinkgear/EkgParameters.class
com/neurosky/thinkgear/EkgParameters.java
com/neurosky/thinkgear/EkgTemplate.class
com/neurosky/thinkgear/EkgTemplate.java
com/neurosky/thinkgear/Matlab.class
com/neurosky/thinkgear/Matlab.java
com/neurosky/thinkgear/EkgSense.class
com/neurosky/thinkgear/EkgSense.java
com/neurosky/thinkgear/DistanceArray.class
com/neurosky/thinkgear/DistanceArray.java
Run Code Online (Sandbox Code Playgroud)

以下 javap --classpath

osx:/Users/me/Documents/workspace> javap -classpath /Users/me/Documents/workspace/EKGTest.jar    com.neurosky.thinkgear.EkgEpoch
Compiled from "EkgEpoch.java"
public class com.neurosky.thinkgear.EkgEpoch extends java.lang.Object implements java.lang.Cloneable{
    public int numberOfSamples; …
Run Code Online (Sandbox Code Playgroud)

java import matlab jar package

11
推荐指数
1
解决办法
7667
查看次数

标签 统计

import ×1

jar ×1

java ×1

matlab ×1

package ×1