エンタープライズ アプリケーションを作成しようとしていますが、非常に奇妙なエラーに直面しています。
Main 以外のクラスからエンタープライズ アプリケーションのファサードを呼び出そうとすると、InvocationTargetException が発生します。
これが私のコードです: -
public class TellerMachine {
@EJB
private static BillerFacadeRemote billerFacade;
@EJB
private static AccountFacadeRemote accountFacade;
@EJB
private static CustomerFacadeRemote customerFacade;
@EJB
private static BanktellerFacadeRemote banktellerFacade;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
TellerMachine tm = new TellerMachine();
Scanner s = new Scanner(System.in);
String sssa = billerFacade.hiHAHAHAHA();
System.out.println(sssa);
tm.printABC();
TestClass t = new TestClass();
t.abc();
}
public void printABC()
{
String sssa = billerFacade.hiHAHAHAHA();
System.out.println(sssa);
}
}
テストクラス: -
public class TestClass
{
@EJB
private static BillerFacadeRemote billerFacade;
public static void main(String[] args)
{
}
public void abc()
{
try{
String a = billerFacade.hiHAHAHAHA();
System.out.println(a);}
catch(Exception e)
{
System.out.println(e.getCause().toString());
}
}
}
BillerFacade のメソッド: -
@Override
public String hiHAHAHAHA() {
return "abc";
}
スタックトレース: -
Warning: /Users/varunbatra/Desktop/RealApp/SwinBankTellerMachine/dist/gfdeploy/SwinBankTellerMachine does not exist.
abc
abc
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:438)
at org.glassfish.appclient.client.AppClientFacade.main(AppClientFacade.java:165)
Caused by: java.lang.NullPointerException
at swinbanktellermachine.TestClass.abc(TestClass.java:29)
at swinbanktellermachine.TellerMachine.main(TellerMachine.java:52)
... 6 more
Java Result: 1
どうしてそうなの?そして、メインクラスからリモートメソッドを呼び出している場合でも、この例外が発生します。Netbeans の何が問題なのですか? うまくいくときとうまくいかないときがあります。助けて、私の混乱を解消してください。