【发布时间】:2011-11-07 05:50:08
【问题描述】:
Tomcat 版本:7.0.20
我正在尝试完成以下 Spring MVC 教程: http://static.springsource.org/docs/Spring-MVC-step-by-step/part1.html
在本教程中,ant 构建脚本被设置为使用管理器部署到 tomcat。但是,当我尝试运行任何 tomcat 任务时,我遇到了一些问题。
首先,在教程中,他们仍然使用已弃用的org.apache.catalina.ant.InstallTask,所以我改为org.apache.catalina.ant.DeployTask。
现在的问题是,当我尝试运行 Tomcat 任务时:
java.lang.NoClassDefFoundError: org/apache/tomcat/util/buf/B2CConverter
at org.apache.catalina.util.Base64.encode(Base64.java:177)
at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:204)
at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:150)
at org.apache.catalina.ant.ReloadTask.execute(ReloadTask.java:45)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
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.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.buf.B2CConverter
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 21 more
所以我用 Google 搜索了一下,发现一些信息表明 tomcat-utils.jar 应该在类路径中,所以我将它添加到带有 catalina-ant.jar 的文件集中,但显然 org.apache.tomcat.util.buf.B2CConverter 类不在其中。
所以接下来我开始用jar -tf 探测这些罐子,看看是否有任何包含该类的罐子。我发现tomcat-coyote.jar 上课了。即使将其包含在文件集中,问题也没有解决。
有人有什么想法吗?
【问题讨论】:
-
关于配置 Ant 和 Tomcat 7 的权威参考:tomcat.apache.org/tomcat-7.0-doc/…
标签: java tomcat ant spring-mvc