問題タブ [javaw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
903 参照

java - Jar名のワイルドカード

ウィンドウバッチファイルで1つのjdkコマンドを次のように実行しています:

しかし、2 週間ごとに新しいバージョンが登場し、古い jar は新しい jar に自動的に置き換えられるため、次のようなワイルドカードを使用することを考えていました。

を使用することを提案した多くの記事をオンラインで参照し、使用する場合は*jar名を囲みます...それらのどれも機能しませんでした。""*

0 投票する
1 に答える
402 参照

java - java.exe は javaw.exe よりも高速です

休止状態 + Mysql/Sqlite を使用していくつかの Java ソフトウェアを作成しましたが、両方のランチャーを使用すると (データベースからの) フェッチ時間に大きな違いがあることに気付きました。

java.exe を使用してアプリケーションを起動すると、もちろんコンソールが表示されますが、アプリケーションは javaw.exe を使用する場合よりも高速です。

私のアプリケーションは Windows ベースのアプリケーションで、アプリケーションの起動時に java.exe でコンソールをロードしたくないので、javaw.exe を使用していますが、フェッチ時間が不足しています。

その問題の説明は何ですか?また、コンソールを起動せずに java.exe を使用してアプリケーションを起動する方法、または javaw.exe を使用して起動して同じパフォーマンスを得るにはどうすればよいですか?

前もって感謝します。

0 投票する
0 に答える
534 参照

java - myProcess.getInputStream() が java.exe では機能するのに、javaw.exe では機能しないのはなぜですか?

Factorio ゲームのコマンド ライン ベースのヘッドレス サーバー用のラッパーを作成しています。私は ProcessBuilder を使用してサーバーの stdout を取得しており、rcon 接続 (長い話、stdin が機能していませんでした) を使用してサーバーと通信しています。jar をパッケージ化して物理サーバーで実行するところまで、ほぼ完成しました。これは、IDE (Intelij) から実行する代わりに jar を実行すると、サーバーからの出力が通過しないことに気付いたときです。さらにスヌーピングを行ったところ、プロセスから .getInputStream() を使用しているときは常に、プログラムがコンソール (java.exe) と一緒に起動された場合にのみサーバーの出力が送信され、プログラムの場合はまったく送信されないことがわかりました。それなしで起動されました(javaw.exe)。

cmd.exe で .getInputStream() をテストしましたが、java.exe と javaw.exe の両方で問題なく動作します。また、コードが IDE の外部で実行されたときに予期していなかったフローに従っているかどうかを確認しますが、入力を待っているが何も受信していないかのように read.readLine() でブロックされます。

プロセスはここで初期化されます。

その後、入力は GUI によって処理され、(サーバーが完全に初期化された後) rcon 経由で送信され、出力が読み取られ、GUI のフィードである JTextArea に出力されます。

アプリケーションは、IDE の場合や java.exe が使用されている場合と同様に、modload に関するすべての初期化テキスト、マッチメイキング サーバーへの接続など、サーバーの出力を出力しているはずです。代わりに、何も出力しませんが、プロセスは引き続き実行され、初期化が完了した後、サーバーはゲーム内で接続できます。

0 投票する
0 に答える
253 参照

batch-file - 新しい javaw プロセスを開始するためのバッチ ファイルが期待どおりに動作しない

Windowsバッチファイルの作成は初めてです。次のバッチ ファイルを使用して、新しい javaw プロセスを開始し、バッチ ファイル内のコマンドの出力をログ ファイルにリダイレクトします。

正常に動作しており、バッチ ファイルを実行すると、出力がログ ファイルに正しくリダイレ​​クトされ、javaw プロセスも新しいプロセス ID で開始されることがわかります。

バッチ ファイルの実行後にログ ファイルにリダイレクトされる出力を次に示します。

しかし、バッチ ファイルの実行後にログ ファイルを編集または削除しようとすると、ファイルが Java(TM) Platform SE バイナリで開かれているため、操作を完了できないと表示されます。

javaw プロセスを強制終了した後でのみ、ログ ファイルを編集または削除できます。

なぜこれが起こっているのか、これを修正する方法はわかりません。javaw プロセスが正常に開始されたら、ログ ファイルを編集または削除できるはずです。これは正しいです?

私のOSはWindows 10 Enterprise 64ビットです。