【发布时间】:2012-11-19 19:57:51
【问题描述】:
我有一个打算安装在 WAS8.5 服务器上的 Maven EJB 项目。一切都编译到 EAR 上,但是,当我尝试部署应用程序时,MDB 映射不会自动填充。我提取了 jar(在耳朵内),我看到了......
--META-INF
----ejb-jar.xml
----ibm-ejb-jar-bnd.xml
那么为什么没有拾取映射?我的插件中有我需要的配置吗?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.2</version>
<configuration>
<ejbVersion>3.0</ejbVersion>
<generateClient>true</generateClient>
<archive>
<manifest>
<!-- generate manifest file properly -->
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
更新:
这看起来更像是 ibm-web-bnd.xml 的问题。我已经确认那是在最后的战争中。
更新问题...
我正在使用激活规范,据我所知,这些在 ejb 项目的 ibm-ejb-bnd.xml 中得到了很好的处理。我可以在耳朵里看到它们。但是,它仍然不起作用。另外,我有一个由旧系统和here构建的耳朵,我发现以下文件没有真正的区别......
- application.xml
- ibm-web-bnd.xml
- ibm-ejb-jar-bnd.xml
我还浏览了 web.xml 和 MANIFEST 文件,但什么也没看到。
最后,另一个奇怪的提示是当我尝试安装我看到的 maven 生成的...
但是,当我尝试上传 Ant(以前的版本)时,我看到了这些选项
更新:根据评论
我将这些文件添加到一个名为 new 和一个名为 old 的文件夹中。
~/My Documents/tmp/file
$ ls old/
application.xml ibm-ejb-jar-bnd.xml ibm-web-ext.xml
ejb-jar.xml ibm-web-bnd.xml
然后我比较了这两个文件夹,结果如下...
diff new/application.xml old/application.xml
5c5
< <module id="Module_1352494482335">^M
---
> <module id="Module_1276803943498">^M
【问题讨论】:
-
您使用的是哪种 MDB 映射?监听端口?激活规范?
-
您能确认文件是否相同吗?另外,你能确认这两种情况下文件的扩展名是“xml”,而不是“xmi”吗?
-
看我的新更新,它们看起来很相似,我会尽量准确...
-
所以您是在告诉我们两个模块之间的所有差异都属于该模块 ID 属性?再看一遍。 :-)
-
不确定您是否再次要求我进行三次检查,还是我遗漏了一些明显的东西?非常感谢您的帮助。