有没有一种方法可以在Tomcat服务器上部署给定的war文件?我想做到这一点,而不使用Web界面。
有没有一种方法可以在Tomcat服务器上部署给定的war文件?我想做到这一点,而不使用Web界面。
有几种方法可以部署Tomcat Web应用程序:
<property name="manager.url" value="http://localhost:8080/manager"/> <property name="manager.username" value="manager"/> <property name="manager.password" value="foobar"/> <!-- 任务定义 --> <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="undeploy" classname="org.apache.catalina.ant.UndeployTask"/> <!-- 目标 --> <target name="install" depends="compile" description="将应用程序安装到servlet容器中"> <deploy url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}" localWar="file://${build.home}"/> </target> <target name="list" description="列出servlet容器中安装的应用程序"> <list url="${manager.url}" username="${manager.username}" password="${manager.password}"/> </target> <target name="reload" depends="compile" description="重新加载servlet容器中的应用程序"> <reload url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}"/> </target> <target name="remove" description="从servlet容器中删除应用程序"> <undeploy url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}"/> </target>所有这些都需要您拥有一个Tomcat用户配置。它位于
$CATALINA_BASE/conf/tomcat-users.xml
,但是既然您已经知道如何使用Web界面,我假设您知道如何配置用户和密码。只需将war文件复制到$TOMCAT_HOME /webapps/目录中。 Tomcat将通过自动解压缩war文件来部署它。 提示 - 如果您想要,可以直接对已解压的目录进行更新,这对开发很有用。
war
文件,该怎么办?(不使用自动部署功能) - hpaknia <Context path="/strutsDisplayTag"
reloadable="true"
docBase="C:\work\learn\jsp\strutsDisplayTag"
workDir="C:\work\learn\jsp\strutsDisplayTag\work" />
我们从不使用网页界面,不喜欢它。我们会将war文件放入webapps和server.xml中进行编辑。如果您编辑了server.xml,则需要重新启动。但是,war文件应该会自动被识别。通常,我们会先删除已扩展的目录,以避免组件来源混淆。
这是一个可以用于验证、编译、压缩为 .WAR 并将 Web 应用程序部署到生产或开发 Tomcat 服务器的软件包。需要注意的是,此功能使用 Tomcat Manager,并且目标 Tomcat 服务器应该正在运行。
您也可以尝试使用名为tomcat-manager的命令行脚本来管理Tomcat。它需要Python,并通过HTTP与Tomcat附带的管理应用程序进行通信。您可以在*nix shell中执行以下操作:
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp
并且:
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
http://localhost:8080/manager/deploy?path=%2Feccount&war=file%3A%2F%2FC%3A%5Ceccount%2Fout%2FWAR-exploded
。虽然通过Web浏览器可以在file:///C:/eccount/out/WAR-exploded
找到文件。我的Tomcat版本是7.0.37。 - prayagupa