210

java、、、javawの違いは何javawsですか?

Windowsでは、Javaのほとんどの使用はを使用して行われることがわかりましたjavaw

4

5 に答える 5

240

以下については、Javaツールのドキュメントを参照してください。

  1. このjavaツールはJavaアプリケーションを起動します。これを行うには、Javaランタイム環境を起動し、指定されたクラスをロードして、そのクラスのmainメソッドを呼び出します。
  2. コマンドは、関連するコンソールウィンドウがないことを除いて、javawと同じです。コマンドプロンプトウィンドウを表示したくない場合に使用します。javajavawjavaw

このjavawsコマンドは、Java Network Launching Protocol(JNLP)のリファレンス実装であるJavaWebStartを起動します。Java Web Startは、ネットワーク上でホストされているJavaアプリケーション/アプレットを起動します。

JNLPファイルが指定されている場合は、JNLPファイルで指定されjavawsているJavaアプリケーション/アプレットを起動します。ランチャーには、現在のリリースでサポートされている一連のオプションがあります

javawsただし、オプションは将来のリリースで削除される可能性があります。

JDK 9リリースノート非推奨のAPI、機能、およびオプションも参照してください。

Java Deployment Technologiesは非推奨であり、将来のリリースで削除される予定です
。JavaアプレットおよびWebStart機能(Applet API、Javaプラグイン、Java Applet Viewer、JNLP、およびjavawsツールを含むJava Web Startを含む)はすべてJDKで非推奨になります。 9であり、将来のリリースで削除される予定です。

于 2011-11-19T14:43:48.327 に答える
76

java:出力/エラーを表示するためのコンソールに関連付けられたJavaアプリケーションエグゼキュータ

javaw :( Javaウィンドウ)コンソールに関連付けられていないアプリケーションエグゼキュータ。したがって、出力/エラーは表示されません。出力/エラーをテキストファイルにサイレントにプッシュするために使用できます。これは主に、GUIベースのアプリケーションを起動するために使用されます。

javaws:Java Web Start)分散型Webアプリケーションをダウンロードして実行します。この場合も、コンソールは関連付けられていません。

すべてがJREの一部であり、同じJVMを使用します。

于 2014-02-04T04:11:16.260 に答える
10

java.exeはコンソールに関連付けられていますが、 javaw.exeにはそのような関連付けはありません。そのため、java.exeを実行すると、コマンドプロンプトウィンドウが自動的に開き、出力ストリームとエラーストリームが表示されます。

于 2011-11-19T14:40:55.910 に答える
6

http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/index.jsp?topic=%2Fcom.ibm.java.doc.user.aix32.60%2Fuser%2Fjava.htmlから:

javawコマンドにjavaと同じですが、javawにコンソールウィンドウが関連付けられていない点が異なります。コマンドプロンプトウィンドウを表示したくない場合は、javawを使用してください。javawランチャーは、失敗した場合にエラー情報を示すウィンドウを表示します。

そして、javawsは、Java Web Startアプリケーション、アプレット、またはそのようなもののためのものだと思います。

于 2011-11-19T14:47:14.387 に答える
2

出力リダイレクトが以下で機能することを確認しましたjavaw

javaw -cp ... mypath.MyClass ... arguments 1>log.txt 2>err.txt

つまり、JavaアプリケーションがSystem.outまたはSystem.errを介して何かを出力する場合、javaを使用する場合(なしw)と同様に、それらのファイルに書き込まれます。特に起動java時に、JREはエラー出力パイプに起動エラー(クラスが見つかりません)を書き込む場合があります。この点で、エラーについて知ることは不可欠です。javawが呼び出された場合は、どのような場合でもコンソールリダイレクトを使用することをお勧めします。

反対に使用する場合

start java .... 1>log.txt 2>err.txt

Windowsコンソールstartコマンドでは、コンソール出力リダイレクトは。でも機能しませjavajavaw

javawその理由の説明: OSで内部プロセスを開き(java.lang.Processクラスを使用するのが適切)、既知の出力リダイレクトをこのプロセスに転送すると思います。コマンドラインでリダイレクトが指定されていない場合、リダイレクトされるものはなく、の内部開始プロセスにjavawはコンソール出力がありません。java.lang.Processの動作は似ています。仮想マシンは、この内部機能を使用する場合もありjavawます。

'start'を使用すると、WindowsコンソールはWindowsが開始後にコマンドを実行するための新しいプロセスを作成しますが、残念ながら、このメカニズムは開始されたサブプロセスに特定のリダイレクトを使用しません。

于 2018-10-05T14:34:51.267 に答える