我正在尝试在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 \"" + "\"...");
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”是一个接口)
需要实例化的对象是什么?