Javaアプリケーションを含むJARファイルがあります。ユーザーとの対話を必要とせずにWindowsで起動するにはどうすればよいですか?
.batファイルを作成して、これを内部に配置します。
javaw -Xmx200m -jar C:\Path\to\jarfile\TheJar.jar
次に、.batファイルをWindowsスタートアップフォルダーに入れます。
もう1つ:Javaとjavawの使用には違いがあります。アプリケーションをデバッグする場合はJavaが適していますが、アプリケーションはテキストなどを出力しますが、不要な場合はjavawが適しています。どうして? JavaはJavaそのアプリケーションのすべての出力(println、例外スタックトレースなど)を表示するコンソールを使用してプログラムを実行しますが、javawは実行しません。 tコンソールで実行します。
ショートカットを入れる必要があるので簡単です
Windows 7_C:\users\All Users\Start Menu\Programs\Startup
_(Admin)またはUser home directory(%userProfile%)
Windows 10:実行中_Shell:startup
_
そのプロパティ->ショートカット->ターゲット-> _Java.exe -jar D:\..\runJar.jar
_
注:これは、ログインした後にのみ実行されます
管理者権限あり
_sc create serviceName binpath= "Java.exe -jar D:\..\runJar.jar"
_ Windowsサービスを作成します
timeoutを取得する場合は_cmd /c D:\Java7~1\jdk1.7.0_51\bin\Java.exe -jar d:\jenkins\jenkins.war
_を使用しますが、これでもタイムアウトになりますが、バックグラウンドでJava.exeが開始されます。タスクマネージャーをチェックインする
企業環境にあった制限された環境で
エラー:
_The service did not respond to the start or control request in a timely fashion
_
この場合
_cmd /c D:\Java7~1\jdk1.7.0_51\bin\Java.exe -jar d:\jenkins\jenkins.war
_
これは、手動で実行した場合にエラーが発生しますが、バックグラウンドで実行されます。
注:これは、Windowsログオンの起動時に実行されます(サインイン前、サービス '_Startup Type
_'に基づいて)
Regedit
注:上級ユーザーのみ編集
現在のユーザーのみで実行するには
_HKEY_CURRENT_USER/SOFTWARE/Microsoft/WINDOWS/CURRENT_VERSION/RUN
_
すべてのユーザーに対して実行するには
_hkey_local_machine/SOFTWARE/Microsoft/WINDOWS/CURRENT_VERSION/RUN
_
上記のコマンドを使用して名前とパスで文字列を作成します
この質問 への答えはあなたのニーズに合うかもしれません。 JavaアプリケーションをWindowsサービスとして実行するように設定すれば、準備完了です。
ハハ...簡単! run(uはstart + rを押します)からregeditを書き込みます:HKey local machine-> software-> Microsoft-> windows-> current version-> runをクリックし、他のパネルで何も右クリックして追加を選択します- >文字列値名Javaダブルクリックして、次のように値を入力します。'javaw-Xmx200m -jar C:\ Path\to\jarfile\TheJar.jar ' ^ _ ^
Javaからプログラムで実行する場合は、Windowsレジストリスタートアップフォルダーに直接書き込むことができます。
ここ は、Windowsレジストリにプログラムで書き込む方法のリンクです。
あなたが必要なものよりもレジストリで動作する機能を実装したときは、このコードを実行するだけです
String value = "\"javaw -jar " + System.getProperty("user.dir") + "\\myJar.jar\"";
WinRegistry.writeStringValue(WinRegistry.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", "myJar autorun key", value);
キーの値は、Java -jar myJar.jarのようなアプリケーションを実行するコマンドである必要があります
自動実行から削除するには、単に
WinRegistry.deleteValue(WinRegistry.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", "myJar autorun key");
[〜#〜] update [〜#〜]
Replace WinRegistry.writeStringValue with WinRegistry.setStringValue recent version of Java 1.8.x
任意の実行可能ファイルからサービスを作成するには、 Windows Resource Kits 20 のsrvany.exe
を使用します(=
の後のスペースに注意してください)::
cmd> sc create NAME binPath= "c:\Program Files\Windows Resource Kits\Tools\srvany.exe" ^
type= own start= auto error= normal DisplayName= "NAME for services.msc"
次に、srvany.exe
ラッパーが行うことを渡します。
cmd> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NAME\Parameters" ^
/v "Application" ^
/d "\"c:\Program Files\Java\jre7\bin\Java.exe\" -cp c:\home\devel\service Main"
上記のスペースの引用構文を参照してください。次のサービスの開始:
cmd> sc start NAME
エラーが発生した場合は、次の設定を再確認してください。
cmd> reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NAME" /s
サービスを削除します。
cmd> sc delete NAME
もう一度ステップを実行します。
GUI services.msc
にアクセスし、procexp.exe
サービスが実際に開始することを確認してください。
参照: sc.exeを使用してサービスを作成する;コンテキストパラメータを渡す方法
[〜#〜] note [〜#〜]関係するすべての機器はofficial Microsoft!!!
自分で設定する準備ができていない場合、または複数のコンピューターで同じ機能を使用する場合は、 Advanced Installer を使用できます。 Windowsにインストールするjarをパッケージ化し、起動時にプログラムを実行するパラメーターを設定できます