【问题标题】:Eclipse, Tomcat, m2e and War Overlay from artifactEclipse、Tomcat、m2e 和来自 artifact 的 War Overlay
【发布时间】:2012-04-18 13:25:50
【问题描述】:

我认为这是在 Tomcat 中转向自动发布所引发的变化?但基本上,当我在 eclipse 中有一个使用战争覆盖的项目时,资源正在从本地父项目复制,而不是那个父母的战争档案。父项目中正在进行大量构建,并且拉入文件将不起作用,我需要将子项目建立在父项目 war 文件的基础上。关于如何做到这一点的想法?

*编辑——更多细节。

覆盖有效,并在 POM 中指定为:

 <dependency>
   <groupId>org.parentproject</groupId>
   <artifactId>parentproject-web</artifactId>
   <version>2.0-SNAPSHOT</version>
   <type>war</type>
</dependency>

这导致了以下 org.eclipse.wst.common.component

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="eurekastreams-web-ym2">
    <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
    <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
    <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
    <dependent-module deploy-path="/" handle="module:/overlay/prj/parentproject-web?includes=**/**&amp;excludes=META-INF/MANIFEST.MF">
        <dependency-type>consumes</dependency-type>
    </dependent-module>
    <dependent-module deploy-path="/" handle="module:/overlay/slf/?includes=**/**&amp;excludes=META-INF/MANIFEST.MF">
        <dependency-type>consumes</dependency-type>
    </dependent-module>
    <property name="context-root" value="parentproject-web-childproject"/>
    <property name="java-output-path" value="/parentproject-web-childproject/target/classes"/>
</wb-module>

【问题讨论】:

  • 您能否详细说明“父项目中正在进行大量构建,并且拉入文件将无法正常工作,我需要将子项目基于父项目的战争文件.关于如何做到这一点的想法?”
  • 由父项目创建的最终战争它本身是复杂构建的结果,具有自己的战争覆盖、gwt 编译文件和文件夹包含等。现在,当我查看在我的子项目中部署的文件,仅复制父项目中存在的文件,而不是 targer/war 文件夹中存在的所有文件。但是,在我执行 maven 包之后,这些文件位于子项目的 target/war 文件夹中,但似乎没有 eclipse/m2e/wtp 在那里

标签: eclipse tomcat maven-3 m2e


【解决方案1】:

您需要安装 m2e-wtp extension 来处理 WAR 覆盖。然后,您将覆盖项目声明为依赖项,并且还应该将其包含在您的 Eclipse 工作区中。

【讨论】:

  • 嗨,JBoss 的 WTP 的 Maven 集成已经安装,war 覆盖正在工作,但我想覆盖父项目的 war 文件,而不是父项目的当前状态。我将用更多细节编辑问题
  • 您是否尝试从 Eclipse 工作区中删除覆盖项目或关闭它?
  • 好的,这让我朝着正确的方向前进,我发布了实际的解决方案-
【解决方案2】:

似乎答案是将目标文件夹添加到部署程序集:

<wb-resource deploy-path="/" source-path="/target/ROOT"/>

ROOT 是目标构建文件夹,其中包含 maven 战争覆盖的结果-

【讨论】:

  • 我将把它标记为正确答案,除非有人能指出有更好的方法来做这件事-
  • 哎呀,这对你有什么作用? Maven->更新有什么问题吗?似乎编辑任何 .文件由并且可能是一个不好的方向......可能也必须走这条路
  • 很久没碰过这个了,我想这是我前进的解决方案-
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 2011-05-15
  • 2017-09-21
  • 2012-05-31
  • 1970-01-01
  • 2015-05-06
  • 2017-06-14
相关资源
最近更新 更多