我正在尝试使用WebSphere 8.5可嵌入容器在Maven项目中运行以下单元测试:
import javax.ejb.embeddable.EJBContainer;
...
private EJBContainer ec;
@Before
public void setUp() {
final Map<String, Object> properties = new HashMap<String, Object>();
properties.put(EJBContainer.PROVIDER, "com.ibm.websphere.ejbcontainer.EmbeddableContainerProvider");
ec = EJBContainer.createEJBContainer(properties);
}
@Test
public void test1(){
...
}
但是我在setup方法中遇到以下异常:
CNTR9403E:嵌入式企业bean容器无法启动 具有相同文件名的多个模块:project1 \ target \ classes和 项目2 \目标\类
有人知道如何解决这个问题吗?我搜索但找不到任何有用的东西。
修改 我在这里找到了例外CNTR9403E的文档:
CNTR9403E:嵌入式企业bean容器无法启动 具有相同文件名的多个模块:{0}和{1}
Explanation User code has directed the embeddable container to start multiple modules with the same file name. Action Specify a list of modules that does not have duplicate file names, or rename one of the modules with a unique file name.
但我不知道如何解决这个问题。是否抱怨路径末端的两个“类”目录?如何在Maven多模块项目中解决这个问题?或者它是WebSphere 8.5中的错误吗?
答案 0 :(得分:1)
是的,classes
目录名称导致冲突。使用这些目录名称没有解决方法,所以我建议测试生成的.jar
,虽然我没有Maven的专业知识,所以我不知道它是多么可行。这有点令人不满意,因此您可以打开WebSphere RFE以允许指定属性以消除歧义。