Apa perbedaan antara java
, javaw
dan javaws
?
Saya menemukan di bawah Windows sebagian besar Java mulai digunakan javaw
.
Apa perbedaan antara java
, javaw
dan javaws
?
Saya menemukan di bawah Windows sebagian besar Java mulai digunakan javaw
.
Jawaban:
Lihat dokumentasi untuk:
java
perintah 1 / javaw
perintah 2
- The
java
alat meluncurkan aplikasi Java. Itu melakukan ini dengan memulai lingkungan Java runtime, memuat kelas yang ditentukan, dan memanggilmain
metode kelas itu .- The
javaw
perintah identik denganjava
, kecuali bahwa denganjavaw
tidak ada terkait jendela konsol. Gunakanjavaw
saat Anda tidak ingin jendela prompt perintah muncul.
javaws
perintah , " perintah Java Web Start "
The
javaws
perintah peluncuran Java Web Start, yang merupakan acuan pelaksanaan Jaringan Jawa Launching Protocol (JNLP). Java Web Start meluncurkan aplikasi Java / applet yang dihosting di jaringan.
Jika file JNLP ditentukan,javaws
akan meluncurkan aplikasi Java / applet yang ditentukan dalam file JNLP.
Thejavaws
peluncur memiliki seperangkat pilihan yang didukung dalam rilis saat ini. Namun, opsi dapat dihapus dalam rilis mendatang.
Lihat juga JDK 9 Catatan Rilis API, Fitur, dan Opsi yang ditinggalkan :
Teknologi Java Deployment sudah ditinggalkan dan akan dihapus dalam rilis
Java Applet dan fungsionalitas WebStart yang akan datang, termasuk API Applet, plug-in Java, Java Applet Viewer, JNLP dan Java Web Start, termasukjavaws
alat , semuanya sudah usang di JDK 9 dan akan dihapus dalam rilis mendatang.
java: pelaksana aplikasi Java yang dikaitkan dengan konsol untuk menampilkan output / kesalahan
javaw: ( Java windowed pelaksana aplikasi ) yang tidak terkait dengan konsol. Jadi tidak ada tampilan output / kesalahan. Ini dapat digunakan untuk secara diam-diam mendorong output / kesalahan ke file teks. Itu sebagian besar digunakan untuk meluncurkan aplikasi berbasis GUI.
javaws: ( Java web start ) untuk mengunduh dan menjalankan aplikasi web terdistribusi. Sekali lagi, tidak ada konsol yang dikaitkan.
Semua adalah bagian dari JRE dan menggunakan JVM yang sama.
javaw
harus di PATH saya? (Tidak)
java.exe dikaitkan dengan konsol, sedangkan javaw.exe tidak memiliki asosiasi seperti itu. Jadi, ketika java.exe dijalankan, secara otomatis membuka jendela command prompt di mana aliran output dan kesalahan ditampilkan.
Perintah javaw identik dengan java, kecuali bahwa javaw tidak memiliki jendela konsol terkait. Gunakan javaw ketika Anda tidak ingin jendela command prompt ditampilkan. Peluncur javaw menampilkan jendela dengan informasi kesalahan jika gagal.
Dan javaw adalah untuk aplikasi web Java start, applet, atau sesuatu seperti itu, saya curiga.
Saya telah memeriksa apakah pengalihan output berfungsi dengan javaw
:
javaw -cp ... mypath.MyClass ... arguments 1>log.txt 2>err.txt
Itu berarti, jika aplikasi Java mencetak sesuatu melalui System.out atau System.err, itu ditulis ke file-file itu, seperti juga dengan menggunakan java (tanpa w
). Terutama pada saat memulai java
, JRE dapat menulis kesalahan awal (kelas tidak ditemukan) pada pipa keluaran kesalahan. Dalam hal ini, penting untuk mengetahui kesalahan. Saya sarankan untuk menggunakan pengalihan konsol dalam hal apa pun jika javaw
diminta.
Sebaliknya jika Anda gunakan
start java .... 1>log.txt 2>err.txt
Dengan start
perintah konsol Windows , pengalihan output konsol tidak berfungsi dengan java
atau dengan javaw
.
Penjelasan mengapa demikian: Saya pikir itu javaw
membuka proses internal di OS (memadai menggunakan kelas java.lang.Process), dan mentransfer redirection output yang dikenal untuk proses ini. Jika tidak ada pengalihan yang diberikan pada baris perintah, tidak ada yang diarahkan dan proses mulai internal untuk javaw
tidak memiliki output konsol. Perilaku untuk java.lang.Process serupa. Mesin virtual juga dapat menggunakan fitur internal ini javaw
.
Jika Anda menggunakan 'start', konsol Windows menciptakan proses baru untuk Windows untuk mengeksekusi perintah setelah mulai, tetapi mekanisme ini tidak menggunakan redirection yang diberikan untuk sub proses yang dimulai, sayangnya.
java -cp ...
. Karena hampir tidak ada yang menginginkan itu,javaw
adalah pilihan untuk membuat jendela yang mengganggu itu menghilang.