2016-09-05 3 views
-1

Tomcat 8.5에 배포 된 Jersey 2 응용 프로그램이 있습니다. 앱 URL로 이동하면 HTTP 404가 표시됩니다. 도움을주십시오. 나는 이것에 관해 여러 가지 질문을 보았지만 셋업에 무엇이 잘못되었는지를 알 수 없다. 로그에 오류가 없습니다.Tomcat이 내 웹 응용 프로그램에 대해 404를 반환합니다.

내 애플 :


package com.mydomain; 

import javax.json.Json; 
import javax.json.JsonObject; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 
import javax.ws.rs.core.Response; 

@Path("/") 
public class MyClass { 
    @GET 
    @Produces(MediaType.APPLICATION_JSON) 
    public Response defaultEntry() { 
     JsonObject result = (Json.createObjectBuilder() 
          .add("test", "OK") 
          .build()); 

     return Response.status(200).entity(result).build(); 
    } 
} 

web.xml은 :

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

    <servlet> 
    <servlet-name>myapp</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>com.mydomain.MyClass</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>myapp</servlet-name> 
    <url-pattern>/*</url-pattern> 
    </servlet-mapping> 

</web-app> 

이 앱은 ${CATALINA_HOME}/webapps에 배포됩니다. 앱과 함께 myapp이라는 디렉토리가 있습니다. 내가 사용하는 URL은 localhost:8080/myapp입니다.

도와주세요.

편집 :

내가 로그의 내용을 부착하고있다 :

catalina.out :


05-Sep-2016 14:09:44.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:  Apache Tomcat/8.5.4 
05-Sep-2016 14:09:44.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:   Jul 6 2016 08:43:30 UTC 
05-Sep-2016 14:09:44.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:   8.5.4.0 
05-Sep-2016 14:09:44.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:    Mac OS X 
05-Sep-2016 14:09:44.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:   10.10.5 
05-Sep-2016 14:09:44.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:   x86_64 
05-Sep-2016 14:09:44.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:    /Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/jre 
05-Sep-2016 14:09:44.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:   1.8.0_71-b15 
05-Sep-2016 14:09:44.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:   Oracle Corporation 
05-Sep-2016 14:09:44.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:   /Users/ksushenko/projects/apache-tomcat-8.5.4 
05-Sep-2016 14:09:44.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:   /Users/ksushenko/projects/apache-tomcat-8.5.4 
05-Sep-2016 14:09:44.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/Users/ksushenko/projects/apache-tomcat-8.5.4/conf/logging.properties 
05-Sep-2016 14:09:44.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
05-Sep-2016 14:09:44.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 
05-Sep-2016 14:09:44.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/Users/ksushenko/projects/apache-tomcat-8.5.4 
05-Sep-2016 14:09:44.701 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/Users/ksushenko/projects/apache-tomcat-8.5.4 
05-Sep-2016 14:09:44.701 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/Users/ksushenko/projects/apache-tomcat-8.5.4/temp 
05-Sep-2016 14:09:44.701 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /Users/ksushenko/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:. 
05-Sep-2016 14:09:44.784 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"] 
05-Sep-2016 14:09:44.803 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 
05-Sep-2016 14:09:44.805 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"] 
05-Sep-2016 14:09:44.806 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 
05-Sep-2016 14:09:44.806 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 346 ms 
05-Sep-2016 14:09:44.822 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina 
05-Sep-2016 14:09:44.822 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.4 
05-Sep-2016 14:09:44.837 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/myapp.war 
05-Sep-2016 14:09:45.310 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 
05-Sep-2016 14:09:45.790 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/myapp.war has finished in 952 ms 
05-Sep-2016 14:09:45.790 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/docs 
05-Sep-2016 14:09:45.799 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/docs has finished in 9 ms 
05-Sep-2016 14:09:45.799 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/examples 
05-Sep-2016 14:09:45.924 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/examples has finished in 125 ms 
05-Sep-2016 14:09:45.924 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/host-manager 
05-Sep-2016 14:09:45.937 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/host-manager has finished in 13 ms 
05-Sep-2016 14:09:45.937 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/manager 
05-Sep-2016 14:09:45.996 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/manager has finished in 59 ms 
05-Sep-2016 14:09:45.996 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/ROOT 
05-Sep-2016 14:09:46.004 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /Users/ksushenko/projects/apache-tomcat-8.5.4/webapps/ROOT has finished in 8 ms 
05-Sep-2016 14:09:46.005 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080] 
05-Sep-2016 14:09:46.009 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009] 
05-Sep-2016 14:09:46.009 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 1203 ms 
+0

오류없이 webapp을 시작 했습니까? 웹 애플리케이션이 전혀 시작되지 않는지 확인하려면 Tomcat 로그 파일을 참조하십시오. – Andreas

+0

로그에 오류가 없습니다. 성공적으로 배포 된 앱 배포에 대한 메시지가 있습니다. – akonsu

+0

로그 파일을 보여주십시오. – Andreas

답변

1
저지 2와

당신이 실제로 web.xml에 필요하지 않습니다 서블릿 (3), 주석이 충분해야합니다. 프로젝트에서 web.xml을 제거해보십시오.

0

예제보기 Jax-RS Servlet 3.0 maven Tomcat 일반적으로 새 Servlet 3.0의 경우 응용 프로그램을로드하기 위해 web.xml이 필요하지 않습니다. 그러나 당신은 클래스를 확장해야합니다 응용 프로그램 :

package com.vvirlan.java.ws; 

import java.util.HashSet; 
import java.util.Set; 
import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Application; 

import com.vvirlan.java.ws.resources.Hello; 

@ApplicationPath("/rest") 
public class MyApplication extends Application { 

@Override 
public Set<Class<?>> getClasses() { 
final Set<Class<?>> returnValue = new HashSet<Class<?>>(); 
returnValue.add(Hello.class); 
return returnValue; 
} 
} 
관련 문제