代码之家  ›  专栏  ›  技术社区  ›  Vinnie

是否找到JPA persistence.xml类路径?

  •  8
  • Vinnie  · 技术社区  · 16 年前

    这就是我想做的。我在web应用程序中使用JPA持久性,但是我有一组单元测试,我想在容器之外运行。

    我有我的初选 persistence.xml META_INF 我的主应用程序的文件夹,它在容器(Glassfish)中工作得很好。

    持久性.xml 在 META-INF 我的文件夹 test-classes 目录。它包含一个单独的持久性单元,我只想用于测试。在eclipse中,我将这个文件夹放在类路径中比默认文件夹更高的位置,它似乎可以工作。

    持久性.xml 忽略覆盖。我能在电脑里看到超控装置 maven生成的 测试类

    我不知道 持久性.xml explains “[测试类目录]将包含在测试类路径的开头”。

    我是否错误地预料到 持久性.xml 文件位于?

    我可以(并且已经)在产品中创建第二个持久性单元 文件,但将测试配置放到这个生产文件中感觉很脏。关于如何实现我的目标的任何其他想法都是受欢迎的。

    2 回复  |  直到 16 年前
        1
  •  3
  •   Ken Liu    16 年前

    persistence.xml 从类路径加载;在过去,我做的正是你所描述的。

    这很可能是maven的问题。您可以使用 -X

        2
  •  4
  •   Pascal Thivent    16 年前

    不清楚你把“第二个”放在哪里了 persistence.xml src/test/resources/META-INF . 测试资源将自动添加到Maven为单元测试设置的类路径中,并优先于放置在中的资源 src/main/resources