我的结构大致是这样的:
-- ProjectA
+-- ProjectA Persistence
+-- ProjectA EJBs
+- ProjectB
+-- lots of ProjectB children...
假设我想在 ProjectB
中编写一些测试。因此,我为这项工作设置了 OpenEJB,它可以正常工作,但随后我需要来自 ProjectA EJBs
的一些 EJB。
由于 OpenEJB 没有从 ProjectA
加载 EJB(即使它是 ProjectB
的依赖项),我将 ProjectA EJBS
添加为test
范围内 ProjectB
的依赖项。
作为 ProjectA EJBs
依赖于 ProjectA Persistence
,看起来 Hibernate 试图加载它......但它做了一些奇怪的事情。
Hibernate FileZippedJarVisitor
尝试提取如下内容:~/.m2/repository/com/example/projecta/1.0.0/projecta-ejbs-1.0.0.jar/project- persistence-1.0.0.jar
而不是 ~/.m2/repository/com/example/projecta/1.0.0/projecta-persistence-1.0.0.jar
。
我该怎么办? 抱歉,如果我的解释不够好,请在需要时询问我更多信息。
最佳答案
如您所述,ProjectA Persistence
是一个依赖项,maven 正尝试从您的 m2 存储库下载它。
要构建 ProjectA Persistence
并将其发送到您可以运行的 m2 存储库:
mvn 安装
关于java - 测试 jar 中的 Hibernate FileZippedJarVisitor 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16422225/