Jak mogę wykonać plik .jar z terminala

123

Wiem, że aby wykonać plik, używam .polecenia, a następnie nazwy pliku ze spacją między nimi. Ale próbuję uruchomić plik .jar przy użyciu .i nie działa. Poszedłem do właściwości i oznaczyłem go jako wykonywalny i uruchomiłem w Javie.

Czy istnieje sposób na wykonanie pliku z Javą w Bash Terminal? Próbuję uruchomić plik Minecraft.jar

Próbuję uruchomić plik Minecraft.jar.

jaorizabal
źródło
4
Witam i witam, jaorizabal. Lekko poprawiłem twoje pytanie. Być może możesz zainstalować moduł sprawdzania pisowni w przeglądarce, aby samemu poprawić następne pytanie. Kolejna wskazówka: w przypadku problemów z tekstem możesz zaznaczyć tekst za pomocą myszy w terminalu, a następnie wkleić go w polu edycji przeglądarki (i gdzie indziej) za pomocą środkowego kliknięcia kółka przewijania. Następnie możesz ułożyć kod za pomocą przycisków w polu edycji. Jest to o wiele szybsze niż zrobienie zrzutu ekranu i przesłanie go.
użytkownik nieznany

Odpowiedzi:

199

.Składnia może być używana tylko do uruchamiania (przez „zaopatrzenia”) skryptów powłoki.

Musisz użyć javapolecenia, aby uruchomić .jarplik:

java -jar Minecraft.jar

Jeśli nie masz zainstalowanej Java, możesz to naprawić, instalując default-jrepakiet ¹. Możesz sprawdzić, czy masz już zainstalowaną Javę, uruchamiając ją w terminalu:

java -version 

[1]: Spowoduje to zainstalowanie domyślnego środowiska wykonawczego Java Openjdk. Możesz użyć openjdk-8-jrelub openjdk-7-jre, lub openjdk-6-jrezamiast tego, jeśli wolisz - cokolwiek jest dostępne w twojej wersji Ubuntu.

Jeremy Kerr
źródło
$ java -jar schemaSpy_5.0.0.jar *** Required parameter '-o' was not specified. ***
Karthik T
31

Linux jest doskonale zdolny do uruchamiania obcego pliku binarnego, takiego jak plik JAR. Tak na przykład działa Wine. Aby uruchomić pliki JAR jako plik wykonywalny, wykonaj następujące czynności w konsoli

sudo apt-get install binfmt-support

Cd do pliku JAR i zmień go na plik wykonywalny (możesz to również zrobić poprzez właściwości pliku w Nautilus)

chmod a+rx myjar.jar

Uruchom plik jar tak, jakby to był inny binarny skrypt wykonywalny lub skrypt powłoki

./myjar.jar

Uwaga: Upewnij się, że masz załadowany moduł jądra binfmt_misc linux. Jeśli używasz własnego skompilowanego jądra bez tego modułu, obsługa binfmt nie będzie działać.

David
źródło
1
Dzięki! Właśnie tego szukałem. To lepsze niż używanie java -jar, ponieważ nie wymaga, aby program host wiedział, że jest to program java, i jest lepsze niż używanie skryptu, ponieważ nie musisz się martwić o przechodzenie przez STDIN i OUT.
srlm,
2
Nie działa w systemie Debian 9: „niepoprawny plik (zły numer magiczny): błąd formatu wykonania”
Paul
16

Jeśli jest to plik wykonywalny, to

java -jar Minecraft.jar 

Nie wszystkie archiwa jar zawierają klasę plików wykonywalnych, zadeklarowaną jako uruchomiona w pliku manifestu, ale jeśli tak, to zadziała.

Przy okazji .: Większość programów nie uruchamia się od powłoki z kropką. Kropka jest skrótem do sourcei działa tylko w bash i niektórych innych powłokach, aby uwzględnić skrypt w zakresie bieżącej sesji.

Skompilowany binarny xybin jest po prostu uruchamiany z jego nazwą, jeśli znajduje się na ścieżce:

xybin 

lub z jego bezwzględną ścieżką:

/home/foo/proj/test/xybin

lub z jego względną ścieżką:

proj/test/xybin

lub jeśli akurat jesteś w katalogu pliku, z tą względną ścieżką:

./xybin

Plik musi być oznaczony jako wykonywalny (patrz: chmod). Wszystkie powyższe zasady dotyczą również skryptów powłoki, ale często mają rozszerzenie .sh i można uruchomić skrypt powłoki, wywołując interpreter, a wtedy nie musi być oznaczony jako wykonywalny:

 bash xy.sh

Jeśli nie chcesz rozpoczynać nowej bash, możesz użyć źródła, a robisz to, aby zużywać definicje funkcji, aliasy i ustawienia zmiennych.

nieznany użytkownik
źródło
7

Równie dobrze możesz zrobić fajny wpis dla aplikacji w Unity. wykonaj następujące polecenia:

gedit ~/.local/share/applications/minecraft.desktop

W wyskakującym oknie skopiuj i wklej następujące elementy:

[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Click here to play Minecraft
Exec=java -jar /path/to/minecraft.jar
Icon=/path/to/minecraft/icon.png
Terminal=false
Categories=Game;

Może być konieczne wylogowanie się i ponowne zalogowanie, aby zobaczyć efekty. :) Musisz także wyszukać w Internecie ładną ikonę Minecraft, ponieważ nie zapewniają one do pobrania ..

Gladen
źródło
4
  1. Otwórz wiersz polecenia za pomocą CTRL+ ALT+T
  2. Przejdź do katalogu plików „.jar”. Jeśli twoja wersja / smak Ubuntu ją obsługuje, powinieneś być w stanie kliknąć prawym przyciskiem myszy katalog pliku „.jar” i kliknąć „Otwórz w terminalu”
  3. Wpisz następujące polecenie:

    java -jar jarfilename.jar

W ten sposób zostanie uruchomiony plik „.jar”.

żmija
źródło
4

Zainstaluj opakowanie jarwrapper. Następnie (i dodając bit wykonywalny) możesz uruchomić plik jar po prostu wpisując nazwę pliku jar.

sudo apt-get install jarwrapper

Działa to poprzez binfmtdodanie obsługi nowego formatu binarnego do jądra.

Thomas Covenant
źródło
3
 java -jar /home/username/.minecraft/launcher.jar
antychryst
źródło
-1

jeśli chcesz zainstalować swój jar z określoną wersją java Podaj również katalog java

/scratch/app/product/Software/jdk1.8.0_112/bin/java -jar /path-to-jar/Minecraft.jar
Gala Rohan
źródło