gpt4 book ai didi

tomcat - 使用 Ant 将简单的 Web 应用程序部署到 Tomcat

转载 作者:行者123 更新时间:2023-11-28 21:51:32 24 4
gpt4 key购买 nike

我正在尝试部署我的简单 Web 应用程序,它由一个 Web Servlet 和一个 JSP 组成。我没有使用任何框架,例如 Spring 或任何东西,只是一个 helloWorld 网络应用程序。

我正在使用 Ant 进行部署。但是当我运行我的部署目标时,它会给我:

java.lang.NoClassDefFoundError: org/apache/tomcat/util/buf/B2CConverter

我正在使用 Tomcat 7,并且我已将 Tomcat lib 目录下的所有库和 tomcat-juli.jar 也包含到我的 webcontent/web-inf/lib 中。

我的 Ant 文件目标如下:

<!-- Configure the directory into which the web application is built -->
<property name="build" value="${basedir}/build" />
<property name="lib.dir" value="${basedir}/WebContent/WEB-INF/lib" />
<property name="src.dir" value="${basedir}/src" />

<!-- Configure the context path for this application -->
<property name="path" value="/myapp" />

<!-- Configure properties to access the Manager application -->
<property name="url" value="http://localhost:8080/manager/text" />
<property name="username" value="gbids" />
<property name="password" value="tomcat" />

<!-- Configure the custom Ant tasks for the Manager application -->
<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" />
<taskdef name="list" classname="org.apache.catalina.ant.ListTask" />
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" />
<taskdef name="findleaks" classname="org.apache.catalina.ant.FindLeaksTask" />
<taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask" />
<taskdef name="start" classname="org.apache.catalina.ant.StartTask" />
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask" />
<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" />

<!-- Class path -->
<path id="project.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
<include name="**/*.zip" />
</fileset>
</path>

<!-- Executable Targets -->
<target name="compile" description="Compile web application">
<javac srcdir="${src.dir}" destdir="${build}/classes" nowarn="on">
<classpath refid="project.classpath" />
</javac>

</target>

<target name="makeWar" depends="compile">
<delete file="${build}${path}.war"/>
<war destfile="${build}${path}.war" webxml="WebContent/WEB-INF/web.xml">
<fileset dir="WebContent" />
<lib dir="WebContent/WEB-INF/lib" />
<classes dir="build/classes" />
</war>
</target>

<target name="deploy" description="Install web application" depends="makeWar" >
<deploy url="${url}" username="${username}" password="${password}" path="${path}" war="${build}${path}.war" />
</target>


我的 tomcat-users.xml 文件中也包含以下内容:

  <role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>

<user username="manager" password="tomcat" roles="manager-gui"/>
<user username="admin" password="tomcat" roles="admin-gui"/>
<user username="gbids" password="tomcat" roles="manager-script"/>

谁能帮我解决这个问题。

谢谢

最佳答案

我找到了解决方案。我试图根据 Tomcat 文档中给出的指南来完成该任务。据此,他们只要求将“catalina-ant.jar”文件复制到 Ant lib 目录。

但是一旦我将 'tomcat-coyote.jar' 、 'tomcat-juli.jar' 、 'tomcat-util.jar' 文件连同 'catalina- ant.jar' 文件,它对我来说非常有用。

关于tomcat - 使用 Ant 将简单的 Web 应用程序部署到 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com