【发布时间】:2014-05-15 21:10:20
【问题描述】:
我正在尝试使用 maven 插件将 webapp 部署到 Tomcat(在远程系统上)
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
我需要将具有不同 context.xml 文件的相同 war 文件从我的机器 (M1) 部署到运行 tomcat 的机器 (M2)。据我了解这里https://tomcat.apache.org/maven-plugin-trunk/tomcat6-maven-plugin/deploy-mojo.html 这应该可以使用选项
<mode>both</mode>
<contextFile>PATH_TO_CONTEXT.XML</contextFile>
(我使用配置文件配置 PATH_TO_CONTEXT.XML)和命令
mvn tomcat6:deploy -P MY_PROFILE.
问题在于,对于 PATH_TO_CONTEXT.XML 的每个设置,部署都会失败。
A) 指定 PATH_TO_CONTEXT.XML 指向机器 M1 上的文件(我在其中运行 maven 命令),我从 Maven 获得 BUILD SUCCESS,但是没有部署任何内容。根据tomcat日志,原因是运行tomcat的机器上该文件不可用:
[ INFO] [catalina-exec-32] [] [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]] - Manager: install: Installing context configuration at 'file:PATH_TO_CONTEXT.XML' from 'file:PATH_TO_WAR'
INFO | jvm 1 | 2014/05/15 22:41:39 | java.io.FileNotFoundException: PATH_TO_CONTEXT.XML (No such file or directory)
PATH_TO_WAR 指向 M1 上的战争。
B) 指定 PATH_TO_CONTEXT.XML 指向 M2(tomcat 的机器)上的文件,maven 进程以 BUILD FAILURE 结束
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat6-maven-plugin:2.2:deploy (default-cli) on project PROJECT: Cannot find context file: PATH_TO_CONTEXT -> [Help 1]
因此,此配置起作用的唯一情况是当我在同时运行 tomcat 的机器上运行部署命令时 (M1=M2)。从一台机器部署到另一台机器是否有有效的配置?
【问题讨论】:
标签: java xml maven tomcat context.xml