2017-04-11 107 views
1

我得到了一个安静的应用程序,出于某种原因 - 我无法使用Java类执行新程序包中的方法,导致Tomcat显示404错误。我的老班没有错误。Eclispe Tomcat显示一个URL,并显示另一个404错误

下面是截图与老班(ManageService)和新的比较(NewsFeedService)

enter image description here

这些网址:

工作之一: http://localhost:8180/ChatRestNoSQLMaven/rest/MessageService/getDialog/8bea7f62-8bff-486c-a2bf-a2f989d0c9a8/c95aaad7-7ceb-408d-86a1-15089c399430

失败之一:

http://localhost:8180/ChatRestNoSQLMaven/rest/NewsFeedService/hello

HTTP状态404 - 找不到

类型状态报告

消息未找到

描述所请求的资源不可用。

我做了Maven clean and install命令,做了卸载/安装的Eclipse Tomcat服务器,做了Project - > Build All,但没有结果。 可能是什么原因?

Tomcat服务器启动日志:

Apr 11, 2017 8:37:09 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ChatRestNoSQLMaven' did not find a matching property. 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server version:  Apache Tomcat/8.5.9 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server built:   Dec 5 2016 20:18:12 UTC 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server number:   8.5.9.0 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: OS Name:    Windows 10 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: OS Version:   10.0 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Architecture:   amd64 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Java Home:    C:\Program Files\Java\jre1.8.0_112 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JVM Version:   1.8.0_112-b15 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JVM Vendor:   Oracle Corporation 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: CATALINA_BASE:   D:\akworkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp4 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: CATALINA_HOME:   C:\Program Files\Apache Software Foundation\Tomcat 8.5 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dcatalina.base=D:\akworkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp4 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.5 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dwtp.deploy=D:\akworkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp4\wtpwebapps 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed 
Apr 11, 2017 8:37:09 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dfile.encoding=Cp1252 
Apr 11, 2017 8:37:09 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent 
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\jre1.8.0_112\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_112/bin/server;C:/Program Files/Java/jre1.8.0_112/bin;C:/Program Files/Java/jre1.8.0_112/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;D:\akworkspace\EccentexQAver2\apache-ant-1.10.0\bin;C:\WINDOWS\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\PuTTY\;C:\Program Files\TortoiseGit\bin;C:\Users\akise\AppData\Local\Microsoft\WindowsApps;;C:\WINDOWS\System32;;. 
Apr 11, 2017 8:37:10 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-nio-8180"] 
Apr 11, 2017 8:37:10 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
Apr 11, 2017 8:37:10 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-nio-8009"] 
Apr 11, 2017 8:37:10 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
Apr 11, 2017 8:37:10 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 2294 ms 
Apr 11, 2017 8:37:10 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Apr 11, 2017 8:37:10 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/8.5.9 
Apr 11, 2017 8:37:27 PM org.apache.jasper.servlet.TldScanner scanJars 
INFO: 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. 
Apr 11, 2017 8:37:29 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler [http-nio-8180] 
Apr 11, 2017 8:37:29 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler [ajp-nio-8009] 
Apr 11, 2017 8:37:29 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 18433 ms 

的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_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>REST Chat</display-name> 
    <servlet> 
     <servlet-name>Jersey RESTful Application</servlet-name> 
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
     <init-param> 
      <param-name>jersey.config.server.provider.packages</param-name> 
      <param-value>rest.account,rest.message,rest.friends</param-value> 
     </init-param> 
     <init-param> 
      <param-name>jersey.config.server.provider.classnames</param-name> 
      <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
     </servlet> 
    <servlet-mapping> 
    <servlet-name>Jersey RESTful Application</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
</web-app> 
+0

是否奇怪,是否有任何堆栈跟踪? –

+0

另外,请在启动过程中提供您的Tomcat日志,以便我们了解服务是如何绑定的。 –

+0

@JUANCALVOPINAM添加错误 –

回答

1

您可以修改<param-value>找到所有你定义rest包中的类,它意味着你可以remplace此:

<init-param> 
    <param-name>jersey.config.server.provider.packages</param-name> 
    <param-value>rest.account,rest.message,rest.friends</param-value> 
</init-param> 

此:

<init-param> 
    <param-name>jersey.config.server.provider.packages</param-name> 
    <param-value>rest</param-value> 
</init-param> 

有了这个你可以避免添加每个新包到<param-value>

+0

我完全忘了检查一下,谢谢! –

1
 <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>rest.account,rest.message,rest.friends</param-value> 
    </init-param> 

param-value文本内容也应列出rest.newsfeed包。

+0

我完全忘了检查这个,谢谢! –

0

请检查您的端口在eclipse服务器配置和服务器。 xml文件。请检查端口号是否相同