Kompilacja java

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
1

Jesteś w katalogu implementations, jaki komunikat o błędzie dostajesz po poleceniach:
(a) java Client
(b) java -cp . Client
(c) java -cp .,../Interfaces Client
To co podałeś w postach jest dość nieprawdopodobne.

  • Rejestracja: dni
  • Ostatnio: dni
0

@bogdans: tak, jestem w Implementations, już podaję, co mi pokazuje:

Kopiuj
java Client -ORBInitRef NameService=corbaloc::localhost:2809/NameService

Exception in thread "main" java.lang.NoClassDefFoundError: InterfacePackage/AppInterfaceHelper
at Client.main(Client.java:34)
Caused by: java.lang.ClassNotFoundException: InterfacePackage.AppInterfaceHelper
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 1 more

Kopiuj
java -cp . Client -ORBInitRef NameService=corbaloc::localhost:2809/NameService

Exception in thread "main" java.lang.NoClassDefFoundError: InterfacePackage/AppInterfaceHelper
at Client.main(Client.java:34)
Caused by: java.lang.ClassNotFoundException: InterfacePackage.AppInterfaceHelper
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 1 more

Kopiuj
java -cp .,../Interfaces Client -ORBInitRef NameService=corbaloc::localhost:2809/NameService

Exception in thread "main" java.lang.NoClassDefFoundError: Client
Caused by: java.lang.ClassNotFoundException: Client
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: Client. Program will exit.

  • Rejestracja: dni
  • Ostatnio: dni
0

Jeszcze może dodam, że w Client.java mam:

Kopiuj
import InterfacePackage.*;
public class Client 
{
//..
}
bogdans
  • Rejestracja: dni
  • Ostatnio: dni
1

Sorry, pokręciłem. Nie przecinek, ale dwukropek java -cp .:../Interfaces Client

AdamR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

@bogdans: hej, to ja (mój poprzedni nick to ":P") zarejestrowałem się, żeby przyznać Ci punkty za pomoc ;) Dziękuję za cierpliwość i nieograniczoną pomoc, bez Ciebie nie dałbym rady :)

To było to - teraz już program się uruchomił. Dziękuję bardzo !! Jestem niesamowicie wdzięczny :)

  • Rejestracja: dni
  • Ostatnio: dni
0

Czy moge sie podpiac zeby nie zasmiecac forum?

Mam 2 foldery:

  • EmployeePackage
  • OtherPackage

na tym samym poziomie. Bedac w 'EmployeePackage' robie: *javac -cp .. .java i jest ok. Bedac w folderze 'OtherPackage' *javac -cp .. .java i tez kompiluje mi sie bez bledow. W folderze 'OtherPackage' mam glowna aplikacje: glowna.java, probuje ja uruchomic:

  1. java glowna :

Exception in thread "main" java.lang.NoClassDefFoundError: glowna (wrong name: OtherPackage/glowna)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: glowna. Program will exit.

  1. java -cp .. glowna

Exception in thread "main" java.lang.NoClassDefFoundError: glowna
Caused by: java.lang.ClassNotFoundException: glowna
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: glowna. Program will exit.

  1. java -cp ..:. glowna

Exception in thread "main" java.lang.NoClassDefFoundError: glowna (wrong name: OtherPackage/glowna)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: glowna. Program will exit.

Korzystałem troszkę z tego tematu ale nie bardzo mi pomaga :( trochę inny układ katalogów mam i nie wychodzi. W ogole gdzies mozna sie tego nauczyc, sa jakies strony??????

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Przejdź z katalogu OtherPackage poziom wyżej (cd ..) i wpisz java OtherPackage.glowna.

  • Rejestracja: dni
  • Ostatnio: dni
0

dziekuje serdecznie, dziala! :)

AdamR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

Piszę ponownie tutaj, ponieważ mam problem z kompilacją tego samego projektu pod Windowsem. Normalnie, pod Ubuntu, uruchamiam go tak:

Kopiuj
java -cp .:../Dir1:../Dir2 Client

i wszystko działa. To samo polecenie pod Windowsem, pokazuje mi:

Error: Could not find or load main class Client

Próbowałem już:

Kopiuj
java -cp .:..\\Dir1:..\\Dir2 Client
Kopiuj
java -cp .:..\Dir1:..\Dir2 Client

z takim samym komunikatem, jak powyżej:

Error: Could not find or load main class Client

Co zrobić?

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
2

Zamienić dwukropki na średniki. W Windows jest inny separator katalogów w zmiennych środowiskowych PATH, CLASSPATH i podobnych.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.