Kompilacja kodu w konsoli z bibliotekami jar, nie znajduje wszystkich klas.

Kompilacja kodu w konsoli z bibliotekami jar, nie znajduje wszystkich klas.
PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Witam.
Skończyłem projekt z programowania, pisałem go w NetBeans'ie, jednak gdy przesłałem go do oceny usłyszałem "Pan musi pokazać, jak skompilować i uruchomić to w konsoli"
Tak więc znalezienie na internecie, jak to zrobić, nawet z bibliotekami nie zajęło mi minuty.

Ale pojawiają się problemy.
Dla ułatwienia wszystko wsypuje do jednego folderu (pliki .java i pliki .jar (z bibliotekami))
wywołuję komendę:
javac -cp biblioteka1.jar -cp biblioteka2.jar kodzrodlowy1.java kodzrodlowy2.java kodzrodlowy3.java ...

w odpowiedzi dostaję:
Wykres.java:50: error: cannot acces PublicCloneable
dataset.addSeries(series3);
class file for org.jfree.util.PublicCloneable not found

Wygląda na to, że nie znalazł klasy w bibliotece, sprawdziłem bibliotekę, klasa tam jest, co więcej NetBeans znachodził te klasy bez problemu.
Na zajęciach z kolei (inna wersja jdk) problem był z innymi klasami.

Jak się z tym uporać?

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
1

Użyj jednego -cp a nazwy plików połącz średnikami.

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

poszło... Bardzo dziękuję :)

teraz problem z uruchomieniem.
wychodzę katalog wyżej (tam też skopiowałem biblioteki) i piszę:
java -cp jcommon-1.0.23.jar;jfreechart-1.0.19.jar firmataxi.FirmaTaxi

otrzymuję:
Error:Could not find or load main class firmataxi.FirmaTaxi
(bez cp i bibliotek działa, tylko wysypuje się przy pierwszej próbie skorzystania z biblioteki)

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
1

Dodaj jeszcze aktualny katalog do cp (który jest reprezentowany kropką), czyli zamiast -cp a;b będzie cp a;b;.

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Znalazło klasę main, ale przy próbie użycia biblioteki wykrzaczyło się...

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
0

Pokaż zrzut ekranu.

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Zrzut w załączniku.
Jak odpalam w ten sposób pliki skompilowane przez NetBeansa wszystko jest ok.

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
1

A masz odpowiednie JARki w tym katalogu src?

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

no tak, brakowało.
Jeszcze zapytam.
Jak włączyć kompilację z polskimi znakami? jakieś inne kodowanie?
W elementach okienek wyskakują krzaczki

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
0

Tzn w Swingowym GUI? Powody mogą być różne, np wadliwa czcionka, nieprawidłowe kodowanie, etc Na zrzucie widzę, że na konsolę ogonki wypisywane są poprawnie.

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Tak. w swingowym GUI.
Znaki wczytywane z pliku są w porządku.
Tylko w Labelach, przyciskach etc. są problemy

Tak czy inaczej bardzo dziękuję za pomoc, jestem pod wrażeniem umiejętności, należy się wielki browar :)

PS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
1

Dla potomnych: jeżeli kompilator nie interpretuje polskich znaków zapewne nie ma podanego kodowania.

ostatecznie komenda kompilacji wygląda tak:
javac -cp biblioteka1.jar;biblioteka2.jar -encoding UTF-8 kodzrodlowy1.java kodzrodlowy2.java ...
kodowanie może być jeszcze chyba unicode

a uruchomienia (będąc folder wyżej):
java -cp bibliotek1.jar;biblioteka2.jar;. package.MainClass

pewnie możnabyłoby te komendy uprościć, żeby nie kopiować bibliotek w dwa miejsca, ale zawsze działa :)

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.