首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tomcat:严重:加载WebappClassLoader时出错

Tomcat:严重:加载WebappClassLoader时出错
EN

Stack Overflow用户
提问于 2013-05-14 01:51:54
回答 3查看 6.7K关注 0票数 1

请不要标记为重复,因为其他解决方案还没有帮助!

尝试运行本教程时,我的浏览器中出现了404:http://www.vogella.com/articles/REST/article.html

实际上,我甚至没有看到WebContent/WEB-INF/classes文件夹。为什么不生成呢?

我在这里只看到了解决方案,所以告诉我清理项目,重新启动Eclipse,等等……但在我的情况下没有帮助。我使用的是Tomcat6,dynamic web模块2.5版。

代码语言:javascript
运行
复制
May 13, 2013 8:17: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: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
May 13, 2013 8:17:01 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:de.vogella.jersey.first' did not find a matching property.
May 13, 2013 8:17:02 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 13, 2013 8:17:02 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 524 ms
May 13, 2013 8:17:02 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 13, 2013 8:17:02 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.37
May 13, 2013 8:17:02 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:
  de.vogella.jersey.first
May 13, 2013 8:17:02 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
  class de.vogella.jersey.first.Hello
May 13, 2013 8:17:02 PM com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
May 13, 2013 8:17:02 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.17 01/17/2013 03:31 PM'
May 13, 2013 8:17:03 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
May 13, 2013 8:17:03 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
May 13, 2013 8:17:03 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/15  config=null
May 13, 2013 8:17:03 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1145 ms

仍然没有任何类文件夹!

EN

回答 3

Stack Overflow用户

发布于 2013-07-13 01:32:15

Vogel的例子是使用Jersey 1.5。如果您使用的是Jerse2.0&Servlet2.x,则需要更改web.xml文件中的某些属性。web-app属性应该反映您正在使用的Servlet版本。此外,ServletContainer现在位于org.glassfish.jersey.servlet包中。因此,应该按如下方式指定servlet-class属性:

代码语言:javascript
运行
复制
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 

例如,对于Servlet2.5,web.xml文件应如下所示:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  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">
  <display-name>de.vogella.jersey.first</display-name>
  <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>de.vogella.jersey.first</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/hello</url-pattern>
  </servlet-mapping>
</web-app>

这些信息可以在Jersey 2.0 User Guide,第4章,部署RESTful网络服务中找到。

另外,我发现我需要将url-pattern设置为:

代码语言:javascript
运行
复制
    <url-pattern>/rest/hello</url-pattern>

让它工作,所以我仍然需要调查这个问题。

票数 1
EN

Stack Overflow用户

发布于 2014-01-16 08:47:25

我也有同样的问题;然而,我被困了一天。这很可能是因为jars的版本不同。我放了一个罐子,可能是第一个拿起来的。当然是错误的版本,或者是用不同版本的Java编译的。我以前见过这种情况。所以我从头开始,注意jars和版本号,只安装需要的东西,它像冠军一样工作。;)

票数 1
EN

Stack Overflow用户

发布于 2013-05-14 02:50:47

尝试这些步骤(希望您使用的是Eclipse),看看它是否有助于更接近问题。

  1. 导航::“右键单击(项目名称) -->属性-->源”选项卡,并确保选择“项目/WebContent/WEB-INF/classes”作为默认输出folder.
  2. Navigate“窗口(菜单) -->显示视图-->其他-->常规-->导航器”,然后转到“项目/WebContent/WEB-INF/”并检查"classes“文件夹是否没有。
  3. 如果没有,然后导航到"Window(Menu) --> Show View --> Other --> General --> Markers“,看看是否显示任何构建路径错误。如果是这样的话,纠正错误,你应该是好的。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16528119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档