Tomcat6.0配置到MyEclipse 10启动错误,但单独启动tomcat是正常的。

xiongyu2006 2012-02-03 03:03:52
求高手指点,tomcat和MyEclipse被我重装了n次,下面是错误信息

2012-2-3 15:04:21 org.apache.catalina.core.AprLifecycleListener init
信息: An older version 1.1.17 of the APR based Apache Tomcat Native library is installed, while Tomcat recommends version greater than 1.1.22
2012-2-3 15:04:21 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.17.
2012-2-3 15:04:21 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2012-2-3 15:04:22 org.apache.coyote.http11.Http11AprProtocol init
信息: Initializing Coyote HTTP/1.1 on http-80
2012-2-3 15:04:22 org.apache.coyote.ajp.AjpAprProtocol init
信息: Initializing Coyote AJP/1.3 on ajp-8009
2012-2-3 15:04:22 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 783 ms
2012-2-3 15:04:22 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2012-2-3 15:04:22 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.35
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;
at org.apache.catalina.core.StandardHost$MemoryLeakTrackingListener.lifecycleEvent(StandardHost.java:616)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4700)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
... 6 more
...全文
403 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenjie4892543 2012-02-04
  • 打赏
  • 举报
回复
getContextPath()在servlet 2.5下才有的,servlet 2.4是没有这个方法的.

Servlet2.5只能适用基于J2SE 5.0开发的平台

Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String
异常很明显

xiongyu2006 2012-02-04
  • 打赏
  • 举报
回复
感谢楼上各位的帮助,换了一个jdk的版本就好了。再次感谢各位的热心帮助!
xiongyu2006 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 h54068650 的回复:]

tomcat换个版本试试?你看你tomcat能单独启动不?
[/Quote]
Tomcat可以单独启动。

信息: Loaded APR based Apache Tomcat Native library 1.1.17.
2012-2-3 18:17:32 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], ra
ndom [true].
2012-2-3 18:17:33 org.apache.coyote.http11.Http11AprProtocol init
信息: Initializing Coyote HTTP/1.1 on http-80
2012-2-3 18:17:33 org.apache.coyote.ajp.AjpAprProtocol init
信息: Initializing Coyote AJP/1.3 on ajp-8009
2012-2-3 18:17:33 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1537 ms
2012-2-3 18:17:33 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2012-2-3 18:17:33 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.35
2012-2-3 18:17:34 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2012-2-3 18:17:34 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory Test
2012-2-3 18:17:34 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-80
2012-2-3 18:17:34 org.apache.coyote.ajp.AjpAprProtocol start
信息: Starting Coyote AJP/1.3 on ajp-8009
2012-2-3 18:17:34 org.apache.catalina.startup.Catalina start
信息: Server startup in 899 ms

h54068650 2012-02-03
  • 打赏
  • 举报
回复
tomcat换个版本试试?你看你tomcat能单独启动不?
xiongyu2006 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lsbggg 的回复:]

建议LZ坚持MyEclipse8.5
[/Quote]
呵呵,之前用tomcat5.5的时,MyEclipse也没这问题。
xiongyu2006 2012-02-03
  • 打赏
  • 举报
回复
这两个jar文件在tomcat的lib目录下有。
lsbggg 2012-02-03
  • 打赏
  • 举报
回复
建议LZ坚持MyEclipse8.5
anhy 2012-02-03
  • 打赏
  • 举报
回复
请检查jsp-api.jar和servlet-api.jar,
anhy 2012-02-03
  • 打赏
  • 举报
回复
请坚持jsp-api.jar和servlet-api.jar
xiongyu2006 2012-02-03
  • 打赏
  • 举报
回复
我装的jdk的版本是:java version "1.6.0_29"的,myeclipse中配置服务器的时候配置的也是此jdk的安装目录,tomcat安装的时候选择的也是该jdk的jre目录。jdk的版本除了这个我机器上没有其他的jdk版本,tomcat倒是有两个,有个5.5的我把它的目录剪切到其他目录了,再装的tomcat6。
在myeclipse选择自带的jdk,可以正常启动tomcat,myeclipse自带的是1.6.0_13的
softroad 2012-02-03
  • 打赏
  • 举报
回复
Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;

楼主看看tomcat6配置的jdk版本和myecliopse默认的jdk版本是否一致,都换成1.6的试试吧。
xiongyu2006 2012-02-03
  • 打赏
  • 举报
回复
tomcat的配置文件我指改了这两个地方
server.xml

<Context path="/web" docBase="E:\webstudy" reloadable="true" >
<Resource name="jdbc/study"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="mysqladmin"
driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/study_java"/>
</Context>
</Host>

web.xml

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧