2

サーブレットの学習を始めたので、ここから apache tomcat 7.x zip ファイル (core--> zip) をダウンロードしました。私はそれを自分のディレクトリ (D:) に抽出し、JAVA_HOMEシステム変数をC:\Program Files\Java\jdk1.6.0(私のコンピューターはWindows 7 Home basic で実行されています) の値に設定しました。

フォルダー内のstartup.batファイルでサーバーを起動しました。binにアクセスしようとするlocalhost:8080と、常にunable to connectブラウザに表示されます。そこで、ポート番号をserver.xmlに変更して9999起動しました。ブラウザで接続できないと再度表示されます。サーバーを起動すると、コマンドシェルに次のように表示されます。誰かがこの問題を解決してサーバーを機能させるのを手伝ってくれませんか?

コマンド シェルで次の内容を確認したところ、問題を示すと思われる次の行しか見つかりませんでした: Failed to initialize component [Standard Server[8005]]. 繋がらないのと何の関係があるのか​​未だにわかりません。

Feb 24, 2013 4:58:02 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performanc
e in production environments was not found on the java.library.path: C:\Program
Files\Java\jdk1.6.0\bin;.;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\
Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\
Program Files\Java\jdk1.6.0\bin
Feb 24, 2013 4:58:02 PM org.apache.catalina.startup.Catalina load
SEVERE: Catalina.start
org.apache.catalina.LifecycleException: Failed to initialize component [Standard
Server[8005]]
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:633)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:658)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: Failed to initialize componen
t [StandardService[Catalina]]
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
        at org.apache.catalina.core.StandardServer.initInternal(StandardServer.j
ava:814)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        ... 8 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize componen
t [StandardEngine[Catalina]]
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
        at org.apache.catalina.core.StandardService.initInternal(StandardService
.java:544)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        ... 10 more
Caused by: java.lang.NoSuchMethodError: java.util.concurrent.ThreadPoolExecutor.
allowCoreThreadTimeOut(Z)V
        at org.apache.catalina.core.ContainerBase.initInternal(ContainerBase.jav
a:1083)
        at org.apache.catalina.core.StandardEngine.initInternal(StandardEngine.j
ava:283)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        ... 12 more
Feb 24, 2013 4:58:02 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 532 ms
Feb 24, 2013 4:58:02 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-9999"]
Feb 24, 2013 4:58:02 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Feb 24, 2013 4:58:02 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Feb 24, 2013 4:58:03 PM org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start:
org.apache.catalina.LifecycleException: Failed to stop component [StandardServer
[8005]]
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:236)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:141)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:684)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Caused by: org.apache.catalina.LifecycleException: An invalid Lifecycle transiti
on was attempted ([before_stop]) for component [org.apache.catalina.deploy.Namin
gResources@1807ca8] in state [INITIALIZED]
        at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBas
e.java:409)
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219)
        at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.j
ava:756)
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
        ... 8 more
Feb 24, 2013 4:58:03 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 11 ms
4

1 に答える 1

0

スタック トレースで気づいたことの 1 つは、次のとおりです。

Caused by: java.lang.NoSuchMethodError: java.util.concurrent.ThreadPoolExecutor.allowCoreThreadTimeOut(Z)V

ThreadPoolExecutor の Javadoc を見ると、メソッド allowCoreThreatTimeOut(boolean) が Java 6 で導入されたようです。以前のバージョンには存在しませんでした。上記のエラーは、古い JVM でバージョン 6 以降用に設計された Java プログラムを実行した場合に発生するものとまったく同じです。

tomcat を初めて起動すると、次のような行が表示されます。

Using CATALINA_BASE:   /home/nick/tools/apache-tomcat-6.0.35
Using CATALINA_HOME:   /home/nick/tools/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /home/nick/tools/apache-tomcat-6.0.35/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /home/nick/tools/apache-tomcat-6.0.35/bin/bootstrap.jar

JRE_HOME のディレクトリーを見て、何が得られるかを確認してください。コマンドラインにはJava 6のインストールが表示されますが、Tomcatが使用しようとしている場所にJava 5がインストールされている可能性があります。複数の Java バージョンがインストールされていると、混乱を招く可能性があります。

于 2013-02-25T09:59:24.470 に答える