NoInitialContextException
when i run the app from bat i get
D:\JAVA_P~1\ZAD5_K~1\JAVACL~1>runClient.bat
D:\JAVA_P~1\ZAD5_K~1\JAVACL~1>java -cp .;C:SunSDKbin/lib/appserv-rt.jar;C:SunSDK
bin/lib/javaee.jar; library.client.LibraryClient JAVA_CLIENT
javax.naming.NoInitialContextException: Need to specify class name in environmen
t or system property, or as an applet parameter, or in an application resource f
ile: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(N amingManager.java:6
45)
at javax.naming.InitialContext.getDefaultInitCtx(Init ialContext.java:288
)
at javax.naming.InitialContext.getURLOrDefaultInitCtx (InitialContext.jav
a:325)
at javax.naming.InitialContext.lookup(InitialContext. java:392)
at library.client.LibraryClient.init(LibraryClient.ja va)
at library.client.LibraryClient.<init>(LibraryClient.java)
at library.client.LibraryClient.main(LibraryClient.ja va)
java.lang.NullPointerException
at library.client.LibraryClient.actionPerformed(Libra ryClient.java)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:19
95)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.jav
a:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel
.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242
)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonL
istener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6038)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3260)
at java.awt.Component.processEvent(Component.java:580 3)
at java.awt.Container.processEvent(Container.java:205 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4410)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 40)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322
)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429 )
at java.awt.Component.dispatchEvent(Component.java:42 40)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThre
ad.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.
java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThre
ad.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)
D:\JAVA_P~1\ZAD5_K~1\JAVACL~1>
this is my LibraryClient
package library.client;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Method;
import java.sql.ResultSet;
import javax.ejb.*;
import javax.naming.*;
import javax.swing.*;
import library.common.*;
@SuppressWarnings("serial")
publicclass LibraryClientextends JFrameimplements ActionListener{
@EJB
privatestatic LibraryInterface li;
private JTextField book_author =new JTextField(10);
private JTextField book_title =new JTextField(10);
private JTextField book_isbn =new JTextField(10);
private JLabel author_label =new JLabel("Podaj autora:");
private JLabel book_title_label =new JLabel("Podaj tytul ksiazki");
private JLabel isbn_label =new JLabel("Podaj ISBN");
private JTextArea display_books =new JTextArea(20,50);
private JButton search =new JButton("Search");
private ResultSet resultset;
public LibraryClient(){
this("DEFAULT_CONTEXT");
}
private JPanel createPanel1(){
JPanel panel =new JPanel();
panel.add(author_label);
panel.add(book_author);
panel.add(book_title_label);
panel.add(book_title);
panel.add(isbn_label);
panel.add(book_isbn);
panel.add(search);
////search.setActionCommand("ISBN");
search.addActionListener(this);
return panel;
}
private JPanel createPanel2(){
JPanel panel =new JPanel();
panel.add(display_books);
return panel;
}
private JPanel createPanels(){
JPanel panel =new JPanel();
//Use default FlowLayout.
panel.setLayout(new BorderLayout());
panel.add(createPanel1(), BorderLayout.NORTH);
panel.add(createPanel2(), BorderLayout.SOUTH);
return panel;
}
public LibraryClient(String appType){
init(appType);
JFrame frame =new JFrame("Library");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.setContentPane(createPanels());
frame.pack();
frame.setVisible(true);
}
publicvoid actionPerformed(ActionEvent e){
try{
display_books.setText("");
resultset=li.getAllBooks();
while(resultset.next()){
String name = resultset.getString("name");
String author =resultset.getString("author");
String isbn = resultset.getString("ISBN");
display_books.append("\n"+ name +" " + author +" "+ isbn);
}
}catch(Exception exc){ exc.printStackTrace();}
}
privatevoid init(String type){
if (type.equals("JAVA_APP")) li =new library.ejb.LibraryBean();
elseif (type.equals("JAVA_CLIENT")){
try{
InitialContext ic =new InitialContext();
li = (LibraryInterface) ic.lookup("library.common.LibraryInterface");
}catch (NamingException e){
e.printStackTrace();
}
}
}
publicstaticvoid main(String[] args){
if (args.length >= 1)new LibraryClient(args[0]);
elsenew LibraryClient();
}
}
i have appserv-rt.jar added to java build path cos i work in eclipse
Thank You
Message was edited by:
oll3i

