Java Eclipse: różnica między eksportowaniem jako JAR a eksportowaniem jako Runnable JAR


87

Jaka jest różnica w zaćmieniu między eksportowaniem do pliku JAR a eksportowaniem do pliku JAR, który można uruchomić? Czy nie są zdolni do uruchomienia? Jakie są zalety / wady każdego z nich?

Odpowiedzi:


98

Plik jar do uruchomienia zawiera plik MANIFEST.MF, który definiuje klasę Main, która ma być wykonana po uruchomieniu pliku jar.

Jary, których nie można uruchomić, to tylko biblioteki klas, które można dodać do ścieżki klas w celu ponownego wykorzystania kodu (zawiera również plik manifestu, ale nie ma tam głównej klasy)


Kiedy eksportujemy plik tylko jako jar, a nie jako gotowy do uruchomienia plik jar, musimy określić główną klasę i ścieżkę klasy biblioteki w pliku manifest.mf.
PAN I

20

Plik jar, który można uruchomić, to plik jar z osadzonym plikiem manifestu, który zawiera deklarację „Main-Class:”. „Klasa główna” musi być zdefiniowana, aby środowisko wykonawcze Java wiedziało, którą klasę wywołać, gdy plik jar zostanie „uruchomiony”. Jeśli plik jar nie zawiera manifestu z wartością „Main-Class:”, nie jest uważany za „runnable jar” - jest to po prostu biblioteka kodu Java.

Wydaje mi się, że jest to różnica w sposobie eksportu słoika przez Eclipse, ale nie jest to w 100% pewne.

Zobacz ten link, aby uzyskać więcej informacji: http://www.skylit.com/javamethods/faqs/createjar.html


17

W przypadku standardowego pliku JAR należy określić klasę za pomocą metody main w wierszu poleceń podczas uruchamiania pliku jar. W uruchamianym pliku JAR istnieje plik manifestu, który będzie zawierał te informacje, więc możesz po prostu wpisać java -jar myRunnable.jarlub po prostu kliknąć dwukrotnie.


0

W moim przypadku eksportowałem jako jar, gdy miałem wszystkie główne klasy i wszystkie katalogi ścieżek bibliotek określone w pliku manifest.mf. Jeśli wiele aplikacji korzysta z tej samej biblioteki, nie ma potrzeby eksportowania biblioteki współdzielonej dla każdego pliku jar. To sprawia, że ​​słoik do biegania jest szybszy. Jednak wiele razy z powodu problemów z konfiguracją w innej ścieżce klasy serwera nie można uzyskać dostępu do biblioteki iw takim przypadku sensowne jest wyeksportowanie uruchamialnego pliku jar, który powoduje, że plik wykonuje się wolno i jest duży.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.