web-dev-qa-db-ja.com

TomcatをWindowsサービスとして起動できません

Windows 8でTomcat6を使用しています。startup.bat経由でTomcatをエラーなしで起動できます。 Tomcat6.exe、Tomcat6w.exe、service.batをTomcat/binディレクトリにコピーし、.exeファイルを管理者として実行するように設定しました。

管理者権限でコマンドラインを開き、エラーなしで実行された「service.bat install」を実行します。 Windowsサービスでは、自動的に実行したいApache Tomcat 6を見ることができます。

しかし、「スタート」ボタンを使用してWindowsサービスから実行した場合と、Windowsの起動時に同じエラーが発生しました。

"WindowsはローカルコンピューターでApache Tomcat 6を起動できませんでした。詳細については、システムイベントログを確認してください。Microsoft以外のサービスの場合は、サービスベンダーに連絡して、サービスを参照してください-特定のエラーコード0

Windowsイベントログを確認すると、次の奇妙なエラーが表示されます。

"Apache Tomcat 6サービスは次のサービス固有のエラーで終了しました:操作が正常に完了しました。"

Tomcat/binディレクトリにmsvcr71.dllをコピーしようとしましたが、何も変わりませんでした。他に何ができますか?

更新:

8080とは異なるポートを使用しています。また、ログファイル/logs/jakarta_service.logに次のエラーが記録されています。

%1は有効なWin32アプリケーションではありません。

9
melo

[スタート]> [Tomcatの構成]> [

  • スタートアップ>モード= Java
  • シャットダウン>モード= Java

これは私のために働いた!

35
Prashant

Javaバージョン。

次の手順が有効です。

  1. 実行\Tomcat\bin\Tomcat7w.exe
  2. 「スタートアップ」タブを確認->「モード」で「jvm」を選択
  3. 「Java」タブ->「Java Virtual Machine」パスを新しいバージョンのパスに更新
  4. Tomcatを再起動します

できた.

12
elin

「WindowsはローカルコンピューターでApache Tomcat 6を起動できませんでした。詳細については、システムイベントログを確認してください。Microsoft以外のサービスの場合は、サービスベンダーに連絡して、サービス固有のエラーコード0を参照してください」

この種のエラーが発生したとき。開始-> Tomcatの設定->起動->モード-> Java同様に開始-> Tomcatの設定->シャットダウン->モード-> Java

5
Nivedita Gopal

最初にポートを確認する必要があります。デフォルトのポート(8080)が他のアプリケーションで使用されている場合があります。

Conf/server.xmlファイルでポートを8080から別のポートに変更してみてください。

Tomcatを実行するにはJREが必要なため、JRE_HOME変数が正しく設定されていることも確認してください。システムでJRE_HOME変数を設定することもできます。そのためには、コンピューターに移動し、右クリックして[プロパティ]、[システムの詳細設定]、[詳細設定]、[環境変数]の順にクリックし、[新規]、[変数名= "JRE_HOME"、変数値= "C:\ Program Files\Java\jre7 "

3
Anup Ganatra

原因:

この問題の原因は次のとおりです。

1- Tomcat can't find the jvm file from the directory specified to start the service because is deleted.

2- Incorrect permissions to the Java folder for read&write access

3- Incorrect Java_HOME path.

4- Antivirus deleted the jvm file from Java folder

解像度:

1- Java directoy。に指定されたファイルが存在することを確認します。

2-ファイルに読み取りおよび書き込み権限があることを確認します。

3- Java_HOMEがJava version。

4-ファイルが削除されている場合は、同じJava不足しているファイルを再作成するバージョンを再インストールします。

1
  1. Apache Tomcatのcatalinaログを確認します:../logs/catalina.log
  2. ログで「ポートが使用されました」という例外が見つかった場合、次のコマンドを使用して、Windowsが使用するポートとプロセスを確認します。cmdnetstat -aoを実行すると、すべてのリスニングポートと対応するプロセスID構成ファイルからのTomcat:../conf/server.xml

    <Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
    

tomcatポートを使用するプロセスを強制終了します

1
KingQQ

私のために働いた最も簡単な答えは、Prashantが言及し、Bluishが編集したものでした。

[スタート]> [Tomcatの設定]> [スタートアップ]> [モード= Javaシャットダウン>モード= Java

残念ながら、私は別の方法でこれを行う必要がありました(おそらく他の方法もありました)。Tomcatbinディレクトリに移動して、「Tomcat7w」アプリケーションを実行しました。

そこで、スタートアップモードとシャットダウンモードをJavaに変更できました。このような:

Step1)Tomcat7wを見つけます:

一般的な場所=>%TomCatHomeDIR%/ bin私の場合、Tomcatはxamppフォルダにあったため、私のアドレスは次のとおりでした。

C:\ xampp\Tomcat\bin

Tomcat7wファイルの場所のスクリーンショット

Step2)起動Tomcat7w&&起動タブとシャットダウンタブでモードを変更

Tomcat7wスタートアップタブのスクリーンショット

注>これは、XAMPPに標準で付属するバージョン7.0.22に基づいています。

1
ReL

64ビットシステムでは、TomcatアプリケーションとJDKの両方が同じアーキテクチャ(両方ともx86またはx64)であることを確認する必要があります。

Tomcatインスタンスをx64に変更する場合は、Tomcat8.exeまたはTomcat9.exe そしてその tcnative-1.dll適切なx64バージョン。これらは http://svn.Apache.org/viewvc/Tomcat/ で取得できます。

または、Tomcat configでJava Virtual Machineパスを変更することにより、Tomcatでx86 JDKを指定できます。

0
Jan Hirschkuh

Prashantによって提案された解決策は私にとってはうまくいきました。

Tomcat9プロパティ>設定>スタートアップ>モード= Java Tomcat9プロパティ>設定>シャットダウン>モード= Java

0
Ravi G

Java_HOMEパスにbinを含めないことが非常に重要です。次のようになります、

C:\ Program Files\Java\jdk-11.0.

0

私は同様の問題を抱えていましたが、Tomcat 32ビットとjdk 32ビットのインストールはうまくいきました。これは主にビットの不一致が原因です。

0
Nitin Mestry

これらの間違いはすべて、ApacheとJDKの接続不良に関連しています。

  1. スタート>システム> Advanced_system_settings>に進みます
  2. システムプロパティがポップアップし、環境変数が表示されます
  3. ユーザー変数では、変数を設定する必要があります:Java_HOME値:C:\ Program_Files\Java\jdk1.8.0_161
  4. システム変数では、パスに入力する必要があります:jdk/bin path&jre/bin pathまた、Java_HOME C:\ Program_Files\Java\jdk1.8.0_161が必要です

通常、システム変数でJava_HOMEをセットアップするのを忘れます。

それでもエラーが発生する場合は、一歩一歩考えてみてください

  1. [イベントビューアー]、[管理イベントとWindowsログ]、[システム]の順に開き、エラーを確認します。それでも解決しない場合
  2. c:\ Program Files\Apache Software Foundation\Tomcat 7.0\logs commons-daemon.XXXX-XX-XX.logに移動し、エラーと警告を読んでください...問題の原因を言葉でうまく説明してください。
0
Zack Zilic