【问题标题】:Deploy context.xml file using maven plugin使用 maven 插件部署 context.xml 文件
【发布时间】: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


    【解决方案1】:

    部署插件期望&lt;contextFile&gt; 引用目标机器上已经的文件。

    它仍然标记为“测试版”,但他的wagon 插件看起来可以在目标系统上安装上下文文件。

    【讨论】:

    • 感谢您的评论。但是,这正是我的替代方案 B) 的问题。我已经在目标机器上有了文件,但是 maven 声称找不到它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2014-08-20
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2019-01-26
    相关资源
    最近更新 更多