NetBeans i ejb - glupi dziwny problem

0

Witam

Zaczynam miec pomalu dosc tego zrytego NetBeans ale nie mam czasu uczyc sie pracowac w Eclipse bo musze jak najszybciej dokonczyc program:/ Ale do rzeczy:
NetBeans 6.7 i mam problem z EJB. W klasie Main aplikacji klienta tworze odwolanie poprzez

@EJB
private static MainServiceRemote msr;

A w konstruktorze msr.initialize();
No i tu pojawia sie problem bo wywala mi smieszny wyjatek:2009-12-04 1545 com.sun.enterprise.appclient.MainWithModuleSupport <init>
WARNING: ACC003: Application threw an exception.
java.lang.NullPointerException
at postservice.client.MainFrame.<init>(Main.java:56)
at postservice.client.Main.main(Main.java:30)
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 com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
at com.sun.enterprise.appclient.Main.main(Main.java:200)
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:461)
at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
at com.sun.enterprise.appclient.Main.main(Main.java:200)
Caused by: 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 com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
... 2 more
Caused by: java.lang.NullPointerException
at postservice.client.MainFrame.<init>(Main.java:56)
at postservice.client.Main.main(Main.java:30)
... 8 more
Java Result: 1


Mam rozumiec ze nagle przestal widziec ejb? Bo wczesniej dzialalo wszystko dobrze, wkleilem do tej samej klasy nowy kod clienta i nagle juz nie dziala:/
Jest jakis sposob na ten badziew czy musze po prostu od poczatku tworzyc projekt, kopiowac pliki i modlic sie zeby ten szajs zadzialal?
0

Aha, zapomnialem dodac ze pomimo tego, ze w pakiecie jest jedna klasa Main to NetBeans widzi tam dwie (opcja wyboru klasy glownej).

0

Usuń "static" z "private static MainServiceRemote msr;"

0

Doszedlem do tego, ze EJB nie dziala, jesli nie jest w klasie ktora uruchamia caly program. Czyli jesli mialem plik Main.java a klasa Main tworzyla obiekt pochodny klasy JFrame w ktorym znajdowalo sie odwolanie do EJB to nie chodzilo. Natomiast kiedy wywalilem klase Main w klasie pochodnej od JFrame dopisalem metode public static void main() to wtedy zaczelo dzialac.

W tutorialu Java EE od suna w przykladach sa uzycia wlasnie private static InterfejsEJB ejb;
dlatego tez tak uzywam. Ale sprawdzalem tez twoja opcje i nie ma roznicy.

Jesli to co napisalem wyzej to byl moj blad wynikajacy z niewiedzy to problem rozwiazany. Jesli to bzdura a to co zrobilem dziala z innego powodu to prosze o szersze wyjasnienie.

0

http://blogs.sun.com/chengfang/entry/do_s_and_don_ts - przeczytaj punkt 6.

"static" może być tylko w klasie z metodą main.

0

wielkie dzieki :-) [browar]

0

Zeby nie smiecic topicami na forum to dopisze w tym bo mam inny problem.

Po utworzeniu projektu "Enterprise Application" w sklad ktorego wchoda moduly: ejb i app-client (czyli aplikacja klienta) chcialbym to sfinalizowac czyli aplikacje klienta udostepnic jako JAR zeby mozna ja bylo uruchamiac bez NetBeansa.
Kiedy klikne na projekcie glownym i nacisne F11 to tworzy on plik EAR (czyli do uploadowania na serwer). Jesli klikne na module app-client i dam F11 to nie tworzy nic.
W jaki sposob z takiego projektu zbudowac pik JAR z aplikacja klienta? W katalogu dist i build znajuja sie wprawdzie takie pliki ale nie dzialaja :/

0

używasz ANT-a? W build.xml ustaw target dist.

1 użytkowników online, w tym zalogowanych: 0, gości: 1