我仍在努力理解过时的官方Spring教程。
这次,主题是错误:
c:\Users\mkumpan\Projects\Spring testing\build.xml:152: java.lang.NoClassDefFoundError: org/apache/tomcat/util/codec/binary/Base64
<stack trace dump omitted>
这个类实际上包含在tomcat-util.jar中:
bash-3.1$ pwd
/c/Program Files/Tomcat/lib
bash-3.1$ jar -tf ./tomcat-util.jar | grep Base64
org/apache/tomcat/util/codec/binary/Base64.class
我非常确定我已经在build.xml中包含了它:
<fileset dir="${appserver.home}/bin">
<include name="*.jar"/>
</fileset>
我甚至试图更加明确:
<fileset dir="C:\Program Files\Tomcat\lib\" includes="tomcat-util.jar">
无法正常工作,每次尝试运行任何与tomcat相关的目标时仍然收到该消息。也许有人可以建议一条调查线索吗?
谷歌似乎没有提供任何相关信息。
更新: 下面提供完整的主类路径参考。
<path id="master-classpath">
<fileset dir="${web.dir}/WEB-INF/lib">
<include name="*/*.jar"/>
</fileset>
<fileset dir="${appserver.lib}">
<include name="*.jar"/>
</fileset>
<fileset dir="${appserver.home}/bin">
<include name="*.jar"/>
</fileset>
<pathelement path="${build.dir}"/>
</path>
taskdef
定义中设置了此类路径?也许它被任务使用,但不在它们所加载的类加载器中。 - akostadinovtaskdef
都有不同的classpath引用,而其中一个省略了tomcat-util.jar。发表一个答案,我会接受它。 - Maxim Kumpan