【问题标题】:Deploying war internals in webapp directory in Maven在 Maven 的 webapp 目录中部署战争内部
【发布时间】:2010-03-31 10:22:56
【问题描述】:

我有一个基础项目,它依赖于要从远程存储库下载的自定义战争。
我可以下载并运行战争,但是自定义战争有一些 html 和 js 文件,我需要将它们提取到我的基础项目的 webapp 目录中。
如何指定custom.war在指定目录爆炸的位置?

【问题讨论】:

    标签: maven-2 deployment war


    【解决方案1】:

    自定义战争有一些我需要在我的基础项目的 webapp 目录中提取的 html 和 js 文件。

    我不确定这是什么位置。

    如何指定custom.war在指定目录展开的位置?

    如果您使用的是overlays,那么您可以在叠加元素中使用targetPath

    • targetPath - 在 webapp 结构中设置目标相对路径,仅适用于战争类型。默认情况下,叠加层的内容会添加到 webapp 的根结构中。

    但正如我所说,我不确定您要在哪里提取上述文件,所以我不知道这是否适合您的需求。如果没有,我认为您将不得不使用 antrun 插件(在第二步中)。

    更新:根据JETTY-1027 的cmets,您应该可以将mvn jetty:run 与使用jetty 6.1.19 叠加的webapp 项目一起使用(this commentJETTY-1095提到码头 6.1.20)。

    如果这不起作用,解决方法是使用mvn jetty:run-war。另一种选择是使用JETTY-1027 的修复(在jetty-maven-plugin 的主干中可用,并在7.0.2 版中发布)。

    【讨论】:

    • 要清楚我的意思 - 我有 maven 项目 - myproject 包含战争依赖项 mycustom.war。 mycustom.war 包含 mycustom.html 文件。当我在 myproject 上运行 mvn jetty:run 时,我希望将 mycustom.html 提取到 myproject/src/main/webapp 目录。我该怎么做?
    • 补充一下,我正在使用 maven-overlay-plugin 并且我没有将 targetPath 设置为任何特定值。
    • @soumik 您可以使用叠加层来做到这一点。但是 src/main/webapp 应该是默认路径。那么,究竟是什么问题呢?是否仅在运行jetty:run 时出现?当您运行mvn package 时,战争是否“正确”
    • Pascal,是的,war 文件是正确的。实际上,如果只是在 jetty 插件下使用适当的设置对 war 文件执行 mvn jetty:deploy-war,它能够将 mycustom.war 中的所有 html 文件提取到 webapp 目录。但是当我运行 mvn jetty:run 时,我看到它运行 jar/classes with the war,但 html 文件没有放在 webapp 目录中。我错过了什么吗?
    • 还有其他方法可以验证我的存储库中战争的正确性吗?
    猜你喜欢
    • 2018-01-22
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多