MatlabJava类给出空指针异常
我尝试在matlab中使用java类,得到一个nullpointer异常MatlabJava类给出空指针异常,java,matlab,Java,Matlab,我尝试在matlab中使用java类,得到一个nullpointer异常 import com.oanda.fxtrade.api.*; public class TestLogin { public static void main(String[] args) { FXClient fxclient = null; fxclient = API.createFXGame(); System.out.print("Logging in as \"" + "\"
import com.oanda.fxtrade.api.*;
public class TestLogin {
public static void main(String[] args) {
FXClient fxclient = null;
fxclient = API.createFXGame();
System.out.print("Logging in as \"" + "\"...");
fxclient.setWithRateThread(true);
try {
fxclient.login("user", "password", "RateTicker Test");
} catch (SessionException e) {
System.exit(1);
} catch (InvalidUserException e) {
System.exit(1);
} catch (InvalidPasswordException e) {
System.exit(1);
} catch (MultiFactorAuthenticationException e) {
System.exit(1);
}
System.out.print("login complete. Registering listeners...");
fxclient.logout();
}
如果我自己运行这个类,它运行得很好,它会登录,给我消息,然后注销
在matlab中,我使用
obj=TestLogin
obj.main('')
我得到:
>> obj.main('')
API proxy version : null
API implementation jar : http://dynamic-api.oanda.com/oanda_fxtrade_implementation.jar
Logging in as ""...Java exception occurred:
java.lang.NullPointerException
at com.oanda.fxtrade.api.implementation.FXClient.login(Unknown Source)
at com.oanda.fxtrade.api.implementation.FXClient.login(Unknown Source)
at com.oanda.fxtrade.api.implementation.FXClient.login(Unknown Source)
at com.oanda.fxtrade.api.implementation.FXClient.login(Unknown Source)
at TestLogin.main(TestLogin.java:32)
对于测试,我已经硬编码了用户和密码。错误来自fxclient.login行。如果有空指针,我猜它不知道fxclient在哪里?(“fxclient”是一个接口)
需要实例化的对象是什么?您是否使用matlab使用的java版本对其进行了测试?您可以在
ver
中看到输入的版本。可能是您使用的库与该java版本不兼容。是的,版本匹配。关于如何从matlab中引用java对象,我似乎有点不明白。比如,如果“obj=TestLogin”命令创建了一个不能被其名称引用的通用对象,那么您调用该类的方式似乎是正确的,如果您查看错误堆栈,您会发现它调用了login
函数,并且在该函数的某个地方出现了错误。您是否使用matlab使用的java版本对其进行了测试?您可以在ver
中看到输入的版本。可能是您使用的库与该java版本不兼容。是的,版本匹配。关于如何从matlab中引用java对象,我似乎有点不明白。例如,如果“obj=TestLogin”命令创建了一个不能被其名称引用的通用对象,那么您调用该类的方式似乎是正确的,如果您查看错误堆栈,就会发现它调用了login
函数,并且在该函数的某个地方出错。