Nowe posty

xx Problem ze sterownikami. (5)
Wczoraj o 21:25:16
xx Instalacja xfce4 (2)
Wczoraj o 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Problem z uruchomieniem programu (JAVA)  (Przeczytany 7832 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