0

これが何が起こっているかです。これをstart javaw -jar BTG_Producer.jarダブルクリックして手動で開始すると、システム トレイに Java プログラムが表示され、Windows タスク マネージャーにプロセス "javaw.exe *32" が表示されます。タスク スケジューラを介してこれを実行すると、*32 なしでプロセス "javaw.exe" が開始され、システム トレイにプログラムが表示されません。私が間違っていることを知っていますか?

4

1 に答える 1

1

タスク スケジューラ経由でプロセスを起動すると、デスクトップからプロセスを起動した場合とは異なる環境になる場合があります。これをテストするために、タスク スケジューラcmdのパラメーターを使用して実行するタスクを作成できます。/k実行すると cmd が開き、実行できますset >%userprofile%\Desktop\environment1.txt。次に、通常どおり cmd を開き、set >%userprofile%\Desktop\environment2.txt. 2 つのファイルを並べて開き、比較します。

この場合、PATH 変数が異なっていると思われます。そのため、あるケースでは 32 ビット Java が実行され、別のケースでは 64 ビット Java が実行されます。

これを修正するには、バッチ ファイルで 64 ビットの javaw.exe を明示的に指定します。

C:\path\to\javaw.exeの代わりにjavaw

于 2016-10-21T02:22:02.737 に答える