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

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 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ć?

1

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

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)

1

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

0

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

0

Pokaż zrzut ekranu.

0

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

1

A masz odpowiednie JARki w tym katalogu src?

0

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

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.

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 :)

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 :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1