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

luk*_*uke 2 java eclipse overlay weblogic maven

我无法让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>
Run Code Online (Sandbox Code Playgroud)

以下是组件文件的摘录

<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>
Run Code Online (Sandbox Code Playgroud)

我尝试在本地进行EAR导出,以便我可以查看EAR并查看文件是否被添加到其他位置,但似乎这种类型的设置根本不起作用.

Fre*_*con 5

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

问题是由Weblogic直接从工作区位置提供文件引起的.这就是防止覆盖对Tomcat的"无需发布服务"模式起作用的问题.基本上,m2e-wtp提供的覆盖组件在直接从源提供webapp时会被忽略.

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

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

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

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

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