Apa perbedaan antara java
, javaw
dan javaws
?
Saya menemukan di bawah Windows sebagian besar Java mulai digunakan javaw
.
java
java-web-start
javaw
user705414
sumber
sumber
java -cp ...
. Karena hampir tidak ada yang menginginkan itu,javaw
adalah pilihan untuk membuat jendela yang mengganggu itu menghilang.Jawaban:
Lihat dokumentasi untuk:
java
perintah 1 /javaw
perintah 2javaws
perintah , " perintah Java Web Start "Lihat juga JDK 9 Catatan Rilis API, Fitur, dan Opsi yang ditinggalkan :
sumber
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.
sumber
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.
sumber
Dari http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/index.jsp?topic=%2Fcom.ibm.java.doc.user.aix32.60%2Fuser%2Fjava.html :
Dan javaw adalah untuk aplikasi web Java start, applet, atau sesuatu seperti itu, saya curiga.
sumber
Saya telah memeriksa apakah pengalihan output berfungsi dengan
javaw
: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 memulaijava
, 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 jikajavaw
diminta.Sebaliknya jika Anda gunakan
Dengan
start
perintah konsol Windows , pengalihan output konsol tidak berfungsi denganjava
atau denganjavaw
.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 untukjavaw
tidak memiliki output konsol. Perilaku untuk java.lang.Process serupa. Mesin virtual juga dapat menggunakan fitur internal inijavaw
.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.
sumber