Mam program składający się z trzech plików:
Klasa.class
Klasa$1.class
Klasa$2.class
Jakiej komendy muszę użyć w konsoli aby utworzyło mi plik .jar, za pomocą którego mógłbym otwierać ten cały program?
Mam program składający się z trzech plików:
Klasa.class
Klasa$1.class
Klasa$2.class
Jakiej komendy muszę użyć w konsoli aby utworzyło mi plik .jar, za pomocą którego mógłbym otwierać ten cały program?
Jesli przejdziesz w konsoli do katalogu bin swojego JDK i wpiszesz "jar", to nie dość, że podany jest help, jak go użyć, to oprócz tego wyświetlone są dwa przykłady użycia. Próbowałes tej opcji?
Oczywiście. Próbowałem już wiele rzeczy wpisywać. Np. według przykładu wpisałem analogicznie taką komendę:
jar cvf Klasa.class Klasa$1.class Klasa$2.class
Jednak wyskoczyło mi coś takiego:
added manifest
adding: Klasa$1.class (in = 1565) (out = 1001)(deflated 36%)
adding: Klasa$2.class (in = 387) (out = 284)(deflated 26%)
@up, jeżeli musi przechodzić do katalogu bin w JDK żeby wpisanie jar wyświetliło help, to ma źle skonfigurowany komputer. Rozpocząć trzeba od zmiany zmiennej środowiskowej PATH.
Nie przeczytałeś dokładnie helpu
jar cfe MojProgram.jar Klasa Klasa*.class
Argumenty, to kolejno: nazwa Jara, klas startowa (Entry Point) i klasy, które mają się znaleźć w pliku jar.
Faktycznie. Mój błąd. Ale mimo wszystko wpisuję teraz coś takiego:
jar cfe Klasa.jar Klasa.class Klasa$1.class Klasa$2.class
I tworzy mi plik .jar o nazwie Klasa, jednak gdy na niego klikne wyskakuje komunikat:
Could not find the main class: Klasa.class. Program will exit.
Dlaczego? Plik Klasa.class znajduje się w tym katalogu.... Dlaczego go nie może znaleźć?
jar cfe Klasa.jar Klasa Klasa.class Klasa$1.class Klasa$2.class
Pierwsza Klasa (bez .class) podaje nazwe glownej klasy ktora uruchomi jvm). Druga Klasa.class to plik ktory musi znalezc sie w jar aby java mogla Klasa wywolac.
Jest! działa! Dziękuję serdecznie za pomoc!
@klapaucius, mojej odpowiedzi też nie przeczytałeś dokładnie:
jar cfe MojProgram.jar Klasa Klasa*.class
Wyraźnie jest Klasa, a nie Klasa.class