我可以在java命令行上指定兼容JPA的persistence.xml文件吗?

时间:2008-10-07 18:29:34

标签: java jpa maven-shade-plugin uberjar

我有一个包含所有java类的UberJar,但是想用外部persistence.xml文件执行这个jar。根据规范,Hibernate(或任何其他JPA提供程序)在类路径中的任何META-INF文件夹中查找persistence.xml文件,但我无法使用UberJar。有任何想法吗? UberJar的类加载器是否仅限于jar文件的内容?

2 个答案:

答案 0 :(得分:1)

-jar 命令行选项:

  

“ - jar”使用此选项时,JAR文件是所有用户类的源,并忽略其他用户类路径设置

所以,似乎直接答案是否定的。

您可以编写自己的引导类,使用通常的java类路径(包括您的persistence.xml),然后引导UberJar,尽管您可能正在使用UberJar来避免这种情况......

答案 1 :(得分:0)

为了跟进我如何解决这个问题,我将persistence.xml文件和我的jar添加到类路径中,然后指定了主类。我的路径中仍然有未归档的类,这导致它们覆盖了jar设置。