Nowe posty

Autor Wątek: Problem z uruchomieniem programu (JAVA)  (Przeczytany 7833 razy)

axlinux

  • Gość
Problem z uruchomieniem programu (JAVA)
« dnia: 2008-07-26, 17:05:23 »
Witam

Napisałem program który korzysta z klasy FTPClient która znajduje się w pakiecie: commons-net-20070724.jar w katalogu: org.apache.commons.net.ftp.FTPClient

Mój program skompilowałem poleceniem: javac -cp commons-net-20070724.jar ImagesUploader.java

jednak nie mam pojęcia jakim poleceniem go uruchomić ponieważ gdy zrobię:

java ImagesUploader to program działa ale bez funkcjonalności jaką oferuje klasa FTPClient - czyli po dojściu do kodu gdzie korzystam z tej klasy nic się nie dzieje, zaobserwowałem na konsoli takie coś :


java ImagesUploader
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/net/ftp/FTPClient
   at PanelGlowny$1.actionPerformed(JasperImagesUploader.java:115)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
   at java.awt.Component.processMouseEvent(Component.java:6041)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
   at java.awt.Component.processEvent(Component.java:5806)
   at java.awt.Container.processEvent(Container.java:2058)
   at java.awt.Component.dispatchEventImpl(Component.java:4413)
   at java.awt.Container.dispatchEventImpl(Container.java:2116)
   at java.awt.Component.dispatchEvent(Component.java:4243)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
   at java.awt.Container.dispatchEventImpl(Container.java:2102)
   at java.awt.Window.dispatchEventImpl(Window.java:2440)
   at java.awt.Component.dispatchEvent(Component.java:4243)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.net.ftp.FTPClient
   at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   ... 26 more


Widać że powstał wyjątek z braku klasy FTPClient !

Dziękuje za pomoc, i proszę o poradę jak to poprawnie uruchomić, oraz jak potem zrobić aby spakować "całość' porpawnie do archiwum jar tak aby dobrze działało :)

Dziękuje

kapron

  • Gość
Problem z uruchomieniem programu (JAVA)
« Odpowiedź #1 dnia: 2008-07-26, 19:10:29 »
a jak importujesz klasy z tego jara?

axlinux

  • Gość
Problem z uruchomieniem programu (JAVA)
« Odpowiedź #2 dnia: 2008-07-26, 19:19:31 »
robię import org.apache.commons.net.ftp.FTPClient

Dla próby wrzuciłem cały katalog "org" co się znajduje w tym jar-ze do katalogu z moimi klasami, odpaliłem i działa. Jednak to rozwiązanie nie jest najlepsze.

A jak bym oczyścił ten katalog org z innych klas i zostawił tą jedną - to czy to by działało?? - bo FTPClient korzysta z FTP (klasa) i nie jestem pewny ale one są między sobą w jakiś sposób powiązane i nie można ich rozdzielić - nie wiem czy dobrze myślę :(

kapron

  • Gość
Problem z uruchomieniem programu (JAVA)
« Odpowiedź #3 dnia: 2008-07-26, 19:29:04 »
hmm... może problem jest w wyszukiwaniu ścieżek. a spróbuj podać ścieżkę bezwględną do jar'a podczas kompliacji, wiesz, np.
javac -classpath /home/axlinux/costam/commons-net-20070724.jar ImagesUploader.java