Wiem, że aby wykonać plik, używam komendy .
, a następnie nazwy pliku z odstępem między nimi. Ale ja'próbuję wykonać plik .jar używając .
i to nie działa. Wszedłem do właściwości i oznaczyłem go jako wykonywalny i sprawiłem, że działa z Javą.
Czy istnieje sposób na wykonanie pliku za pomocą Javy w Terminalu Bash?
Próbuję wykonać plik Minecraft.jar.
Składnia .
może być użyta tylko do uruchamiania (przez "sourcing") skryptów powłoki.
Aby uruchomić plik .jar
musisz użyć komendy java
:
java -jar Minecraft.jar
Jeśli nie masz zainstalowanej javy, możesz to naprawić instalując pakiet default-jre
¹. Możesz sprawdzić, czy masz już zainstalowaną javę, uruchamiając ją w terminalu:
java -version
[1]: To zainstaluje domyślny openjdk Java runtime. Możesz użyć openjdk-8-jre
, lub openjdk-7-jre
, lub openjdk-6-jre
zamiast, jeśli wolisz - w zależności od tego, co jest dostępne w Twojej wersji Ubuntu.
Linux jest doskonale zdolny do uruchamiania obcych plików binarnych, takich jak pliki JAR. W ten sposób działa na przykład Wine. Aby uruchomić pliki JAR jako wykonywalne wykonaj następujące czynności w konsoli
sudo apt-get install binfmt-support
Cd do swojego pliku JAR i zmień go na wykonywalny (możesz to również zrobić poprzez właściwości pliku w Nautilusie)
chmod a+rx myjar.jar
Uruchom swój plik jar tak, jakby był to jakikolwiek inny binarny skrypt wykonywalny lub skrypt powłoki
./myjar.jar
Uwaga: Upewnij się, że masz załadowany moduł binfmt_misc jądra linuxa. Jeśli użyjesz własnego, skompilowanego jądra bez tego modułu, binfmt-support nie będzie działać.
Jeśli jest to wykonywalny słoik, to
java -jar Minecraft.jar
Nie wszystkie archiwa jar-Archives zawierają klasę wykonywalną, zadeklarowaną do uruchomienia w pliku Manifest, ale jeśli jest, to będzie działać.
Btw.: Nie'uruchamiasz większości programów z powłoki za pomocą kropki. Kropka jest skrótem do source
, i działa tylko w bashu i kilku innych powłokach, by włączyć skrypt w zakres bieżącej sesji.
Skompilowany binarny xybin jest po prostu uruchamiany z jego nazwą, jeśli znajduje się w ś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 znajdujesz się w katalogu, w którym znajduje się plik, z tą względną ścieżką:
./xybin
Plik musi być oznaczony jako wykonywalny dla ciebie (zobacz: chmod). Wszystko to dotyczy również skryptów powłoki, ale często mają one rozszerzenie .sh, i możesz uruchomić skrypt powłoki przez wywołanie interpretera, a wtedy nie musi on być oznaczony jako wykonywalny:
bash xy.sh
Jeśli nie chcesz uruchamiać nowego basha, możesz użyć źródła, i robisz to, aby skonsumować definicje funkcji, aliasy i ustawienia zmiennych.