在我的 mavenized EAR项目中“在服务器上运行”时,我总是遇到以下情况。
情况
如果我对我的 EAR 项目采取以下步骤:
- mvn 干净安装
- 在服务器上运行
...将导致:
Maven生成的application.xml将是正确的:
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
<display-name>com.company.fbps.api.impl.ear</display-name>
<module>
<ejb>com.company.fbps.api.impl.ejb-0.0.1-SNAPSHOT.jar</ejb>
</module>
</application>
虽然 EJB 项目“com.company.fbps.api.impl.ejb”是 EAR 项目的 maven 依赖项:
(在“com.company.fbps.api.impl.ejb”pom.xml 中)
<dependency>
<groupId>com.company.fbps.api.impl.ejb</groupId>
<artifactId>com.company.fbps.api.impl.ejb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>ejb</type>
</dependency>
...但是Run on Server生成的application.xml不正确:
Oracle WebLogic Server 插件将生成一个application.xml以:
...\.metadata\.plugins\org.eclipse.core.resources\.projects\com.company.fbps.api.impl.ear\beadep\fbp_local_test\com.company.fbps.api.impl.ear\split_src
.... 有错误的 EJB jar 名称:
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
<display-name>com.company.fbps.api.impl.ear</display-name>
<module>
<ejb>com.company.fbps.api.impl.ejb.jar</ejb>
</module>
</application>
所以在这个过程中,一些集成不知道 Maven 生成不同的ejb.jar名称并且这不用于“在服务器上运行”。
解决方法
我找到了一种解决方法,让它以某种方式运行。如果你说"Maven - Update Project Configuration ..."
之前"Run on Server"
它工作一次。但在下一次构建后会再次损坏。
使用的插件
- 适用于 Eclipse 11.1.1.8.0 的 Oracle WebLogic 服务器工具
- m2e - Eclipse 1.0.100.20110804-1717 的 Maven 集成
问题
您知道如何在不使用我的解决方法的情况下纠正这种情况吗?