2013-02-24 2 views
0

새 서버 인스턴스를 만들고 server.xml을 수정하여 <Context> 태그를 추가하여 내 응용 프로그램을 가리 키도록하십시오.Tomcat 7 문제 - 서버 인스턴스를 시작할 수 없습니다.

나는 서버를 시작하고 나는이이 얻을 :

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. 

내가 시작할 추가 <Context> 태그를 제거합니다.

Feb 24, 2013 2:57:01 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: C:\Program Files\Java\jdk1.7.0\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;;C:\Program Files\Dell\Dell Wireless WLAN Card;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\apache-maven-3.0.4\bin;C:\Program Files\Java\jdk1.7.0\bin;. 
Feb 24, 2013 2:57:01 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Feb 24, 2013 2:57:01 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
Feb 24, 2013 2:57:01 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 911 ms 
Feb 24, 2013 2:57:01 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Feb 24, 2013 2:57:01 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.35 
Feb 24, 2013 2:57:02 PM org.apache.catalina.core.ContainerBase startInternal 
SEVERE: A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/jee]] 
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:111) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/jee]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    ... 7 more 
Caused by: java.lang.NoClassDefFoundError: javax/faces/webapp/FacesServlet 
    at com.sun.faces.config.FacesInitializer.<clinit>(FacesInitializer.java:107) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1659) 
    at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1569) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1277) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5179) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 7 more 
Caused by: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    ... 19 more 

Feb 24, 2013 2:57:02 PM org.apache.catalina.core.ContainerBase startInternal 
SEVERE: A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]] 
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:111) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:684) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    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: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.apache.catalina.LifecycleException: A child container failed during start 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 7 more 

Feb 24, 2013 2:57:02 PM org.apache.catalina.startup.Catalina start 
SEVERE: Catalina.start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:684) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    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: Failed to start component [StandardService[Catalina]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 7 more 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 9 more 
Caused by: org.apache.catalina.LifecycleException: A child container failed during start 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 11 more 

Feb 24, 2013 2:57:02 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 730 ms 

몇 가지 세부 사항 :

  1. 서버 런타임 환경 JRE는
  2. 을 jdk1.7.0로 설정되어

    이 콘솔 메시지가

    <?xml version="1.0" encoding="UTF-8"?> 
    <!-- 
        Licensed to the Apache Software Foundation (ASF) under one or more 
        contributor license agreements. See the NOTICE file distributed with 
        this work for additional information regarding copyright ownership. 
        The ASF licenses this file to You under the Apache License, Version 2.0 
        (the "License"); you may not use this file except in compliance with 
        the License. You may obtain a copy of the License at 
    
         http://www.apache.org/licenses/LICENSE-2.0 
    
        Unless required by applicable law or agreed to in writing, software 
        distributed under the License is distributed on an "AS IS" BASIS, 
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
        See the License for the specific language governing permissions and 
        limitations under the License. 
    --><!-- Note: A "Server" is not itself a "Container", so you may not 
        define subcomponents such as "Valves" at this level. 
        Documentation at /docs/config/server.html 
    --><Server port="8005" shutdown="SHUTDOWN"> 
        <!-- Security listener. Documentation at /docs/config/listeners.html 
        <Listener className="org.apache.catalina.security.SecurityListener" /> 
        --> 
        <!--APR library loader. Documentation at /docs/apr.html --> 
        <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/> 
        <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> 
        <Listener className="org.apache.catalina.core.JasperListener"/> 
        <!-- Prevent memory leaks due to use of particular java/javax APIs--> 
        <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/> 
        <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> 
        <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> 
    
        <!-- Global JNDI resources 
         Documentation at /docs/jndi-resources-howto.html 
        --> 
        <GlobalNamingResources> 
        <!-- Editable user database that can also be used by 
         UserDatabaseRealm to authenticate users 
        --> 
        <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/> 
        </GlobalNamingResources> 
    
        <!-- A "Service" is a collection of one or more "Connectors" that share 
         a single "Container" Note: A "Service" is not itself a "Container", 
         so you may not define subcomponents such as "Valves" at this level. 
         Documentation at /docs/config/service.html 
        --> 
        <Service name="Catalina"> 
    
        <!--The connectors can use a shared executor, you can define one or more named thread pools--> 
        <!-- 
        <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
         maxThreads="150" minSpareThreads="4"/> 
        --> 
    
    
        <!-- A "Connector" represents an endpoint by which requests are received 
         and responses are returned. Documentation at : 
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) 
         Java AJP Connector: /docs/config/ajp.html 
         APR (HTTP/AJP) Connector: /docs/apr.html 
         Define a non-SSL HTTP/1.1 Connector on port 8080 
        --> 
        <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 
        <!-- A "Connector" using the shared thread pool--> 
        <!-- 
        <Connector executor="tomcatThreadPool" 
           port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" /> 
        --> 
        <!-- Define a SSL HTTP/1.1 Connector on port 8443 
         This connector uses the JSSE configuration, when using APR, the 
         connector should be using the OpenSSL style configuration 
         described in the APR documentation --> 
        <!-- 
        <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
           maxThreads="150" scheme="https" secure="true" 
           clientAuth="false" sslProtocol="TLS" /> 
        --> 
    
        <!-- Define an AJP 1.3 Connector on port 8009 --> 
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/> 
    
    
        <!-- An Engine represents the entry point (within Catalina) that processes 
         every request. The Engine implementation for Tomcat stand alone 
         analyzes the HTTP headers included with the request, and passes them 
         on to the appropriate Host (virtual host). 
         Documentation at /docs/config/engine.html --> 
    
        <!-- You should set jvmRoute to support load-balancing via AJP ie : 
        <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> 
        --> 
        <Engine defaultHost="localhost" name="Catalina"> 
    
         <!--For clustering, please take a look at documentation at: 
          /docs/cluster-howto.html (simple how to) 
          /docs/config/cluster.html (reference documentation) --> 
         <!-- 
         <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 
         --> 
    
         <!-- Use the LockOutRealm to prevent attempts to guess user passwords 
          via a brute-force attack --> 
         <Realm className="org.apache.catalina.realm.LockOutRealm"> 
         <!-- This Realm uses the UserDatabase configured in the global JNDI 
          resources under the key "UserDatabase". Any edits 
          that are performed against this UserDatabase are immediately 
          available for use by the Realm. --> 
         <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> 
         </Realm> 
    
         <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> 
    
         <!-- SingleSignOn valve, share authentication between web applications 
          Documentation at: /docs/config/valve.html --> 
         <!-- 
         <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 
         --> 
    
         <!-- Access log processes all example. 
          Documentation at: /docs/config/valve.html 
          Note: The pattern used is equivalent to using pattern="common" --> 
         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/> 
    
         <Context docBase="C:\Users\I\workspace\j2eeapplication\target\j2eeapplication-0.0.1-SNAPSHOT" path="/jee" reloadable="true"/> 
    
         </Host> 
        </Engine> 
        </Service> 
    </Server> 
    

    은 server.xml입니다

  3. Eclipse Juno를 사용하고 있습니다.

나는 무엇이 누락 되었습니까?

편집 :

lib 폴더는 maven에서 관리합니다. 이는 pom.xml 파일

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.example.j2eeapp</groupId> 
    <artifactId>j2eeapplication</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <name>J2EE Application Example</name> 

    <repositories> 
    <repository> 
      <id>prime-repo</id> 
      <name>PrimeFaces Maven Repository</name> 
      <url>http://repository.primefaces.org</url> 
    </repository> 
    </repositories> 

    <dependencies> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.1.9.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.3.1.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.8.2</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.webflow</groupId> 
     <artifactId>spring-webflow</artifactId> 
     <version>2.3.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.webflow</groupId> 
     <artifactId>spring-faces</artifactId> 
     <version>2.3.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>com.oracle</groupId> 
     <artifactId>ojdbc14</artifactId> 
     <version>10.2.0.1.0</version> 
    </dependency> 

    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
    </dependency> 

    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>2.1.10</version> 
    </dependency> 

    <dependency> 
     <groupId>com.sun.facelets</groupId> 
     <artifactId>jsf-facelets</artifactId> 
     <version>1.1.14</version> 
    </dependency> 

    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>20030825.184428</version> 
    </dependency> 

    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.6.4</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.0.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>3.0.5.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>xml-apis</groupId> 
      <artifactId>xml-apis</artifactId> 
      <version>1.3.02</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-web</artifactId> 
      <version>3.1.0.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
      <version>3.1.0.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.primefaces</groupId> 
      <artifactId>primefaces</artifactId> 
      <version>3.4</version> 
     </dependency> 
     <dependency> 
      <groupId>cglib</groupId> 
      <artifactId>cglib</artifactId> 
      <version>2.2.2</version> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>4.1.8.Final</version> 
     </dependency> 

    </dependencies> 
</project> 

이다이있는 web.xml을

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     version="2.5"> 

    <display-name>J2EE Application Example</display-name> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

</web-app> 

내가 그것을 작동하도록 pom.xml 파일에 추가해야합니까?

+0

,이 URL에 나와있는 sofware 레 포스 중 하나를 추가 한 다음에서 J2EE libs와 설치 : http://download.eclipse.org/tools/orbit/downloads/ – djangofan

답변

3

에 의한 : java.lang.NoClassDefFoundError가이 : javax의은 /면/웹 애플리케이션/FacesServlet에 당신이 얼굴 서블릿 jar 파일을 누락

, 그들은 당신의 바람둥이 lib 폴더에 또는의 적어도 일부 확인 자바 경로

+0

JSF 라이브러리가'WEB-INF/lib' 폴더에 추가되지 않은 것처럼 보입니다 ('FacesServlet'을위한 라이브러리입니다) –

+0

그래서 어떤 의존성을 pom.xml에 추가해야합니까? –

+0

http://findjar.com/을 http://search.maven.org/와 함께 사용하면 pom에 추가해야 할 항목을 알 수 있습니다. – benzonico

0

당신은 메이븐은 FacesServlet에 등록하기위한 당신의 의 pom.xmljavax.faces에게 종속성을 추가해야합니다. 이클립스에서 J2EE libs와 누락이 필요한 경우

<dependency> 
    <groupId>javax.faces</groupId> 
    <artifactId>javax.faces-api</artifactId> 
    <version>2.1</version> 
</dependency> 
관련 문제