Bagaimana saya bisa menjalankan file .jar dari terminal

124

Saya tahu bahwa untuk mengeksekusi file, saya menggunakan .perintah, lalu nama file dengan spasi di antara mereka. Tapi saya mencoba untuk mengeksekusi file .jar menggunakan .dan itu tidak berfungsi. Saya pergi ke properti dan menandainya sebagai executable dan membuatnya dijalankan dengan Java.

Apakah ada cara untuk menjalankan file dengan Java di Terminal Bash ? Saya mencoba menjalankan file Minecraft.jar

Saya mencoba menjalankan file Minecraft.jar.

Jaorizabal
sumber
4
Halo dan selamat datang, jaorizabal. Saya sedikit mengoreksi pertanyaan Anda. Mungkin Anda dapat menginstal pemeriksa ejaan untuk browser Anda, untuk meningkatkan sendiri pertanyaan berikutnya. Petunjuk lain: Untuk masalah teks, Anda dapat menandai teks dengan mouse Anda di terminal, dan kemudian menempelkannya ke bidang edit browser Anda (dan di tempat lain) dengan klik tengah pada roda gulir. Kemudian Anda dapat mengatur kode Anda dengan tombol-tombol di bidang edit. Ini jauh lebih cepat daripada mengambil tangkapan layar, dan mengunggahnya.
pengguna tidak diketahui

Jawaban:

200

The .sintaks hanya dapat digunakan untuk menjalankan (oleh "sourcing") skrip shell.

Anda harus menggunakan javaperintah untuk menjalankan .jarfile:

java -jar Minecraft.jar

Jika Anda belum menginstal java, Anda dapat memperbaikinya dengan menginstal default-jrepaket ¹. Anda dapat melihat apakah Anda sudah menginstal java dengan menjalankan di terminal:

java -version 

[1]: Ini akan menginstal runtime Java openjdk default. Anda dapat menggunakan openjdk-8-jre, atau openjdk-7-jre, atau openjdk-6-jresebaliknya, jika Anda mau - mana yang tersedia di versi Ubuntu Anda.

Jeremy Kerr
sumber
$ java -jar schemaSpy_5.0.0.jar *** Required parameter '-o' was not specified. ***
Karthik T
31

Linux sangat mampu menjalankan biner asing, seperti file JAR. Ini adalah cara kerja Wine, misalnya. Untuk menjalankan file JAR sebagai yang dapat dieksekusi, lakukan hal berikut di konsol

sudo apt-get install binfmt-support

Cd ke file JAR Anda dan ubah ke executable (Anda juga dapat melakukan ini melalui properti file di Nautilus)

chmod a+rx myjar.jar

Jalankan file jar Anda seperti file biner yang dapat dieksekusi atau skrip shell lainnya

./myjar.jar

Catatan: Pastikan Anda memuat modul kernel linux binfmt_misc . Jika Anda menggunakan kernel yang dikompilasi khusus tanpa modul ini, dukungan binfmt tidak akan berfungsi.

David
sumber
1
Terima kasih! Ini persis apa yang saya cari. Lebih baik daripada menggunakan java -jar karena tidak memerlukan program host untuk mengetahui bahwa itu adalah program java, dan lebih baik daripada menggunakan skrip karena Anda tidak perlu khawatir melewati STDIN dan OUT.
srlm
2
Tidak berfungsi pada Debian 9: "file tidak valid (angka ajaib buruk): Kesalahan format Exec"
Paul
16

Jika itu adalah toples yang dapat dieksekusi, maka

java -jar Minecraft.jar 

Tidak semua jar-Archives berisi kelas yang dapat dieksekusi, dinyatakan akan dimulai dalam file Manifest, tetapi jika ada, ini akan berfungsi.

Btw .: Anda tidak memulai sebagian besar program dari shell dengan titik. Titik adalah jalan pintas source, dan hanya berfungsi di bash dan beberapa shell lainnya, untuk menyertakan skrip dalam lingkup sesi saat ini.

Xybin biner yang dikompilasi hanya dimulai dengan namanya jika ada di path:

xybin 

atau, dengan jalur absolutnya:

/home/foo/proj/test/xybin

atau dengan jalur relatifnya:

proj/test/xybin

atau jika Anda berada di direktori file, dengan jalur relatif ini:

./xybin

File harus ditandai dapat dieksekusi untuk Anda (lihat: chmod). Semua hal di atas juga berlaku untuk skrip shell, tetapi mereka sering memiliki ekstensi .sh, dan Anda dapat memulai skrip shell dengan memohon penerjemah, dan kemudian tidak perlu ditandai dieksekusi:

 bash xy.sh

Jika Anda tidak ingin memulai bash baru, Anda dapat menggunakan sumber, dan Anda melakukannya, untuk menggunakan definisi fungsi, alias, dan pengaturan variabel.

Pengguna tidak diketahui
sumber
7

Anda mungkin juga ingin membuat entri yang bagus untuk aplikasi di Unity. jalankan perintah berikut:

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

Di jendela yang muncul, salin dan tempel yang berikut ini:

[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;

Anda mungkin harus keluar dan kembali untuk melihat efeknya. :) Anda juga perlu mencari ikon Minecraft yang terlihat bagus di internet karena mereka tidak menyediakannya dengan unduhan ..

Gladen
sumber
4
  1. Buka prompt perintah dengan CTRL+ ALT+T
  2. Buka direktori file ".jar" Anda. Jika versi / rasa Ubuntu Anda mendukungnya, Anda harus dapat mengklik kanan pada direktori file ".jar" Anda dan mengklik "Open in Terminal"
  3. Ketikkan perintah berikut:

    java -jar jarfilename.jar

Dengan cara ini file ".jar" Anda akan dieksekusi.

ular berbisa
sumber
4

Pasang jarwrapper. Setelah itu (dan dengan menambahkan bit yang dapat dieksekusi) Anda dapat memulai file jar hanya dengan memasukkan nama jarfile.

sudo apt-get install jarwrapper

Ini berfungsi dengan menggunakan binfmtuntuk menambahkan dukungan untuk format biner baru ke kernel.

Thomas Covenant
sumber
3
 java -jar /home/username/.minecraft/launcher.jar
antikristus
sumber
-1

jika Anda ingin menginstal toples Anda dengan versi java tertentu Tentukan direktori java juga

/scratch/app/product/Software/jdk1.8.0_112/bin/java -jar /path-to-jar/Minecraft.jar
Rohan Gala
sumber