m2e-wtp覆盖未加载到Eclipse发布的EAR或WAR文件中

时间:2014-01-14 21:57:37

标签: java eclipse maven weblogic overlay

我无法让Eclipse在本地向weblogic服务器正确发布重叠的WAR。正确运行maven clean package会在导入适当的webapp内容的情况下组装EAR。我发现了几个类似的问题,但似乎没有一个是近期或同一个问题。

查看我的org.eclipse.wst.common.component文件,也可以正确生成覆盖资源的依赖模块。

我正在使用m2e-wtp 1.0.1.20130911-1545

我是否需要执行其他配置才能让服务器发布以读取该叠加层?

使用更多信息进行编辑: 以下是WARs pom.xml

的摘录
<dependencies>
    <dependency>
        <groupId>com.abc</groupId>
        <artifactId>core-webcontent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
        <scope>runtime</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <overlays>
                    <overlay>
                        <groupId>com.abc</groupId>
                        <artifactId>core-webcontent</artifactId>
                    </overlay>
                </overlays>
            </configuration>
        </plugin>
    </plugins>
</build>

以下是组件文件

的摘录
<dependent-module deploy-path="/" handle="module:/overlay/prj/core-webcontent?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>

我尝试在本地进行EAR导出,以便查看EAR并查看文件是否被添加到其他位置,但似乎这种设置似乎无法正常工作。

1 个答案:

答案 0 :(得分:5)

我试过JBoss AS 7.x / Wildfly 8.w没有任何问题。我下载了Weblogic尝试(我从未使用过它),我可以确认你看到的行为。

问题是由Weblogic直接从工作区位置提供文件引起的。这是阻止覆盖对Tomcat的"Serve without publishing" mode起作用的同样问题。基本上,m2e-wtp提供的覆盖组件在直接从源提供webapp时会被忽略。

JBoss服务器和Tomcat的默认模式支持覆盖,因为webapp被发布到另一个位置并从那里提供服务。该发布步骤允许添加,然后提供重叠的文件。

以下更改允许Weblogic执行相同操作: *在服务器视图中,从您的weblogic服务器中删除EAR *右键单击weblogic服务器并打开“属性”对话框 *转到Weblogic&gt;出版 *选择“发布为展开的存档”,然后按确定 *在Weblogic服务器上重新部署您的EAR

现在应该从[workspace / path] /。metadata / .plugins / org.eclipse.core.resources / .projects / [earproject] / beadep / [domain] / [earproject] /

提供服务

我注意到的一件事是,重叠项目的更改不会立即发布。您需要在主Web应用程序中进行一些虚拟更改才能看到要部署的覆盖文件。

此时,如果您希望更好地支持weblogic工具中的叠加层,则需要与Oracle联系。