3

PC をシャットダウンしたときに、Web アプリを構成して実行していました。それから私がそれを始めたとき、奇妙なことが起こり始めました.私はEclipse indigo eeを使用しています. 適切な場所にあるクラスのクラスが見つからないという例外が発生しました。何も変更していませんでした。変更する前にアプリを再実行したかったのです。別のプロジェクトでは String 型を認識しなかったため、プロジェクトをリロードしたところ、パッケージに問題があり、パッケージを削除して置き換えたところ、機能しました。そのプロジェクトは良いです。しかし、私が取り組んでいたもう1つは、クラスが見つからないと述べました。別のパッケージに入れてから、元の場所に戻しました。エラーはなくなりました。しかし、新しいものが登場しました。これが私のコンソール出力です:

 Jun 08, 2012 1:57:07 AM 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: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;c:/Program Files/Java/jdk1.7.0_04/bin/../jre/bin/server;c:/Program Files/Java/jdk1.7.0_04/bin/../jre/bin;c:/Program Files/Java/jdk1.7.0_04/bin/../jre/lib/amd64;D:\OracleDB11g\app\oracle\product\11.2.0\server\bin;c:\Program Files\Java\jdk1.7.0_04\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;d:\Programming_Tools\apache-maven-3.0.4\bin\;D:\MySqlServer\bin;C:\Program Files (x86)\QuickTime\QTSystem\;D:\Programming_Tools\eclipse EE;;.
 Jun 08, 2012 1:57:07 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
 WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:TestTomcat' did not find a matching property.
 Jun 08, 2012 1:57:07 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
 WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:OnTheRun' did not find a matching property.
 Jun 08, 2012 1:57:08 AM org.apache.coyote.AbstractProtocol init
 INFO: Initializing ProtocolHandler ["http-bio-80"]
 Jun 08, 2012 1:57:08 AM org.apache.coyote.AbstractProtocol init
 INFO: Initializing ProtocolHandler ["http-bio-8443"]
 Jun 08, 2012 1:57:08 AM org.apache.coyote.AbstractProtocol init
 INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
 Jun 08, 2012 1:57:08 AM org.apache.catalina.startup.Catalina load
 INFO: Initialization processed in 1791 ms
 Jun 08, 2012 1:57:08 AM org.apache.catalina.core.StandardService startInternal
 INFO: Starting service Catalina
 Jun 08, 2012 1:57:08 AM org.apache.catalina.core.StandardEngine startInternal
 INFO: Starting Servlet Engine: Apache Tomcat/7.0.27
 Jun 08, 2012 1:57:12 AM org.apache.catalina.core.ApplicationContext log
 SEVERE: StandardWrapper.Throwable
 java.lang.IllegalStateException: No Factories configured for this Application. This   happens if the faces-initialization does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions!
 If you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files and a context listener is not setup in your web.xml.
 A typical config looks like this;
 <listener>
  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
 </listener>

at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:172)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:112)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

 Jun 08, 2012 1:57:12 AM org.apache.catalina.core.StandardContext loadOnStartup
 SEVERE: Servlet /OnTheRun threw load() exception
  java.lang.IllegalStateException: No Factories configured for this Application. This happens if the faces-initialization does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions!

    If you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files   and a context listener is not setup in your web.xml.


      A typical config looks like this;     <listener>
    <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
   </listener>

at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:172)
at javax.faces.webapp.FacesServlet.init(FacesServlet.java:112)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

 Jun 08, 2012 1:57:12 AM org.apache.coyote.AbstractProtocol start
 INFO: Starting ProtocolHandler ["http-bio-80"]
 Jun 08, 2012 1:57:12 AM org.apache.coyote.AbstractProtocol start
 INFO: Starting ProtocolHandler ["http-bio-8443"]
 Jun 08, 2012 1:57:12 AM org.apache.coyote.AbstractProtocol start
 INFO: Starting ProtocolHandler ["ajp-bio-8009"]
 Jun 08, 2012 1:57:12 AM org.apache.catalina.startup.Catalina start
 INFO: Server startup in 3540 ms
4

1 に答える 1

8

どうやら環境が汚れています。すべてをきれいにして再構築することをお勧めします。

  1. Tomcatからプロジェクトを削除します(Tomcatを右クリックし、プロジェクトを追加/削除し、プロジェクトを削除します)
  2. Eclipseでプロジェクトを閉じる(プロジェクトを右クリック、閉じる
  3. Tomcatをクリーンアップ(Tomcatを右クリック、Clean
  4. Eclipseでプロジェクトを再度開きます(プロジェクトを右クリックして開く
  5. Eclipseでプロジェクトをクリーンアップします([プロジェクト]> [クリーンアップ...]>以下の選択したプロジェクトをクリーンアップし、プロジェクトを選択します)
  6. プロジェクトをTomcatに追加します(Tomcatを右クリックし、プロジェクトを追加/削除し、プロジェクトを追加します)
  7. Tomcatを起動します(Tomcatを右クリックし、[開始]をクリックします)。

この問題の本当の原因を特定することはできません。考えられる要因が多すぎます。たとえば、ワークスペースが適切にシャットダウンされなかった、Tomcatが適切にシャットダウンされなかった、または「多すぎる」ことを同時に行ったために、Eclipseなどのバックグラウンドタスクで競合状態が発生しました。これは、Eclipse+Tomcatの組み合わせとは明示的には関係ありません。これは、JBossASおよびGlassfishサーバーでの私の経験にも起こります。

于 2012-06-07T23:30:16.077 に答える