31

Eclipseを介してTomcatを実行しようとしています。これは私が過去数年間行ってきたことです。昨日は機能していましたが、現在は機能していません。私が得るエラーは

Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.

出力は

Jul 06, 2012 8:32:26 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\Java\jdk1.7.0_05\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;D:\Launch;D:\Program Files\Java\jdk1.7.0_05\bin;%PROGRAMFILES%\Internet Explorer;C:\Program Files (x86)\SMLNJ\bin\;D:\Program Files\TortoiseSVN\bin;C:\ghc\ghc-6.6\bin;D:\Program Files\MySQL\MySQL Server 5.5\bin;%ANT_HOME%/bin;D:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;D:\Program Files\Microsoft SQL Server\100\Tools\Binn\;D:\Program Files\Microsoft SQL Server\100\DTS\Binn\;D:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;D:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\Program Files (86x)\;.
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 468 ms
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.28
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\docs
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\examples
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Jul 06, 2012 8:32:26 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@5710ddf9')
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\host-manager
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\manager
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory D:\Program Files\Java\apache-tomcat-7.0.28\webapps\ROOT
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 06, 2012 8:32:26 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 06, 2012 8:32:26 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 504 ms

私は今、数時間解決策を探し回っています。しかし、私は成功していません。それはおそらく単純なことです。私は以下を試しました:

  1. サーブを削除し、Eclipseでリメイクします
  2. コンピューターを再起動し、日食
  3. Eclipse、Tomcatを再インストールします
  4. -cleanを使用してEclipseを起動します
  5. Webアプリなしでサーバーを起動します
  6. タイムアウトを増やす

コマンドラインからtomcatを正常に起動できます。ただし、デバッグするにはeclipseを実行する必要があります。私はこのSOの投稿を知っており、それや他の多くの投稿を無駄にしています。

考え?

更新:サーバーが起動することに気づきました。ただし、Eclipseが実行する最後の機能の1つは失敗します。私がこれを観察した方法は、タイムアウトを10分に設定することです。その間、サーバーにアクセスできましたが、eclipseのデバッグ機能はありませんでした。したがって、Eclipseはそれを起動し、何かを実行しようとしますが、何かが完了することはありません。Eclipseは、そのタイムアウト期間の後にTomcatをシャットダウンします。

更新:この問題が発生したときに何が起こったかを振り返ると、コンピューターは明らかにJava更新をインストールしました。

4

28 に答える 28

38

Java の更新により、(とりわけ) 同じ問題が発生しました。この更新により、Tomcat に ping を実行するときに Eclipse が ipv6 を使用するようになり、何らかの理由で私のセットアップでは機能しません。

を追加して修正しました

-Djava.net.preferIPv4Stack=true

eclipse.ini

于 2012-10-05T11:45:09.143 に答える
26

これは、無効/破損/???が原因で発生する可能性があることがわかりました。「デバッグ」で開始するときのコードのブレークポイント。多くの場合、起動時間が遅くなります。

「すべてのブレークポイントを削除する」は、これを解決しました。

于 2015-06-16T21:33:45.247 に答える
10

私の場合、ポート 8443 の SSLEnabled (https) HTTP/1.1 コネクタを優先して、ポート 8080 の HTTP/1.1 コネクタを無効にしました。

間違ったポートまたは間違ったプロトコルが原因で Eclipse/Tomcat 通信が失敗したかどうかはわかりませんが、ポート 8080 の HTTP/1.1 コネクタを server.xml に追加したとき (ポートのセキュア コネクタに加えて) 8443)、Eclipse は Tomcat の正常な起動を正しく検出できました。

Tomcat が正常に起動したことを Eclipse が認識するには、Tomcat がポート 8080 に非 SSL コネクタを持つように構成する必要があるようです。

于 2015-01-27T21:50:38.173 に答える
7

次のようにして、この問題を修正できました。

  • Tomcat サーバーを右クリックします (Eclipse サーバー パースペクティブの下)。
  • [開く] を選択します。xml エディターが開きます。
  • [タイムアウト] セクションを探し、値を 45 秒以上に増やします。

これは Eclipse Helios / Tomcat 7 で動作します

于 2012-11-21T22:14:18.930 に答える
5

これらすべてのオプションを試してみましたが、最新バージョンの STS (Spring Tool Suite 3.7.1.201510041213-RELEASE) を取得して、Tomcat が起動したことを確認できませんでした。

Tomcat 7.0.64、8.0.26、8.0.28 を試しました。すべて同じ結果です。バニラのTomcatインストールが機能するようになったので、server.xml(または他のファイル)に問題があるに違いないと考えました。

そのため、サーバービューが開始ステータスの取得を停止するまで、1行ずつ調べました。簡単に言うと、コネクタsecureで属性を ( のような任意の値にfalse) 設定すると、STS はそれが別の SSL ハンドラであると想定します。

例えば:

<Connector secure="false" executor="conPool" port="8080" redirectPort="8443" protocol="HTTP/1.1" />

次の場合に、STS がフリークアウトします。

<Connector executor="conPool" port="8080" redirectPort="8443" protocol="HTTP/1.1" />

意図したとおりに動作します。

STS は、値に関係なく、単に secure 属性を持っているだけで、SSL ハンドラーであると想定しているようです。ただし、古いバージョンの STS にはこの問題はないようです。誰かがすでに非常によく似たバグを報告しています。

また、サーバー構成ペインに次のように表示されることにも注意してください。

ここに画像の説明を入力

server.xml にsecure非 SSL コネクタの属性がある場合 (および動作がやや不安定)、および:

ここに画像の説明を入力

削除されたときにリストされる通常のポート。

于 2015-10-20T18:47:19.847 に答える
4

ここで同じ問題に遭遇しました。他の人が提案したこれらすべてのソリューションを試してみましたが、どれもうまくいきません。

  1. http 1.1 ポートを 8090 に変更します。
  2. -Djava.net.preferIPv4Stack=true を eclipse.ini (私の場合は STS.ini) に追加します。
  3. Window -> Preferences -> General -> Network Connections で、Active Provider を Direct または Manual に設定します。
  4. 127.0.0.1 localhost をホストの localdns ファイル (C:\Windows\System32\drivers\etc\hosts) に追加します。

最後に、Tomcatネイティブライブラリを入れてから、これがすべて発生することに気付きました.Tomcatネイティブライブラリを削除して、上記のすべての変更を元に戻しました.今は動作します. とにかく、問題をネイティブライブラリに結び付けるのに役立つすべての助けに感謝します。

于 2014-05-28T16:40:23.850 に答える
2

上記の解決策をすべて試した後も、同じ問題に直面しています。httpコネクタをserver.xmlに追加することで問題を解決しました。実際、問題を修正する前は、https コネクタしかありません。Eclipse は、http url を要求して tomcat の起動を探しているようです。Eclipse を削除すると、Tomcat が正常に起動したかどうかを判断できません。

于 2016-03-29T08:48:53.080 に答える
1

同じ問題が発生しました。私はこのすべてのことをしました。

  1. システム プロパティにすべての環境変数を追加しました。
  2. Window -> Preferences -> General -> Network ConnectionsActive ProviderManualに変更しました。
  3. eclipse.iniファイルの-Djava.net.preferIPv4Stack=true-vmargsに追加されました。
  4. タイムアウトを 45 秒から増やしました。
  5. エクリプスを更新しました。

お役に立てれば.. !!!

于 2017-03-24T07:36:05.293 に答える
0

大量の INFO レベルのログをコンソールに記録して、負荷の高いアプリケーションを起動しようとしている人のために。Eclipse コンソール プリンターは、印刷するデータ量によって混乱し、Eclipse が長時間ハングする可能性があることに注意してください。ただし、サーバーは実際に起動され、ブラウザー経由でアクセスできます。

この問題は私に起こり、何が起こっているのかを理解するのにかなりの時間がかかりました. 私は Eclipse Mars と Tomcat 7 を実行しています。私の場合、アプリはすべてのシングルトン Bean 名をコンソールに出力しようとしていたため、約数千の Bean 名が Eclipse に夢中になりました。

org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons

    if (this.logger.isInfoEnabled()) {
       this.logger.info("Pre-instantiating singletons in " + this);
    }

試してみて、アプリのログレベルを ERROR に設定してください。うまくいけば、これは誰かを助けるでしょう。

于 2015-12-13T06:09:40.977 に答える
0

Eclipse が :8080 で Tomcat の実行ステータスを確認しているようです。

SSL接続用のコネクタを除くすべてのコネクタを無効にすると、Eclipse + Tomcatで同様の問題が発生しました(:8443)。

この問題を回避するために、server.xml に:8080コネクタと :8443 コネクタの両方を残しました。

于 2016-07-19T05:19:55.383 に答える
0

また、Java jdk の最新バージョン (たとえば 1.8) を実行していないことも確認する必要があります。その場合は、古いバージョン (たとえば 1.7) を使用するように Eclipse を構成してください。

于 2015-09-19T21:13:12.503 に答える
0

これは、サーバー設定でホスト名を無効な値に設定した場合にも発生する可能性があります。

于 2016-05-26T16:39:13.297 に答える
0

Windows --> Preferences --> NetworkConnections --> に移動します。3 つの値を持つドロップダウンがあります。

  1. 直接
  2. マニュアル
  3. ネイティブ

デフォルトではネイティブなので、マニュアルを選択して をクリックしApplyます。

Tomcat 7 を搭載した Eclipse Juno EE で動作します。

于 2013-10-11T07:11:12.537 に答える
0

私は同じ問題に直面しており、提供されたほとんどの解決策に従いましたが、うまくいきませんでした。

先輩の一人が私に問題の理由を教えてくれました。以前、mvn clean install -Pstagingを使用してステージング環境のビルドを作成しました。これにより、ステージング環境のターゲット フォルダーに WAR ファイルが作成されました。tomcat を起動するたびに、ターゲットからの設定を使用してステージング データベース サーバーに接続し、接続できませんでした (起動デリゲートの準備で行き詰まりました)。

修正:最初にワークスペース ディレクトリでmvn clean installを実行し、次に Eclipse でプロジェクト -> Maven -> プロジェクトの更新を右クリックします。次に、Tomcat を実行します。

于 2018-05-31T10:45:17.943 に答える
0

ここで同じエラーに気づきました。Eclipse Juno + Apache 7 (7.0.27 および 7.0.29)。

サーバーが起動し、アプリケーションを使用できますが、タイムアウト エラーが発生します。

Eclipse Indigo SR2 では正しく動作します。また、JAVA_HOME および JRE_HOME 変数が削除されていることに気付きました (おそらく Java の更新が原因で)。そのため、変数を再度設定しました。

于 2012-07-13T18:42:43.157 に答える
-1

私の問題は、8443でsslのTomcatインストールserver.xmlファイルを編集し、8080ではなくなったことが判明しました...Eclipseはそれを取り込み、起動時にハングします...元のserver.xmlをコピーし、サーバーをもう一度作成しましたよし...自分の足を狙うのはいい狙いだ...

于 2013-04-08T17:51:31.337 に答える
-2

問題は間違いなく JDK のバージョンにあります。Windows 7 を実行している場合は、JDK のバージョンと tomcat のバージョンを変更することを検討します。

于 2014-03-18T11:05:11.737 に答える