我认为这是在 Tomcat 中转向自动发布所促成的变化?但基本上,当我在 eclipse 中有一个使用 war overlay 的项目时,资源是从本地父项目复制的,而不是那个 parent 的 war 文件。父项目中正在进行大量构建,拉入文件将不起作用,我需要将子项目基于父项目 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=**/**&excludes=META-INF/MANIFEST.MF">
<dependency-type>consumes</dependency-type>
</dependent-module>
<dependent-module deploy-path="/" handle="module:/overlay/slf/?includes=**/**&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>
最佳答案
您需要安装m2e-wtp extension处理 WAR 覆盖。然后您将覆盖项目声明为依赖项,并且还应该将其包含在您的 Eclipse 工作区中。
关于来自工件的 Eclipse、Tomcat、m2e 和 War Overlay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10017871/