我有一个包含所有 java 类的 UberJar,但想用外部 persistence.xml 文件执行这个 jar。根据规范,Hibernate(或任何其他 JPA 提供程序)在类路径上的任何 META-INF 文件夹中查找 persistence.xml 文件,但我无法使用 UberJar 完成这项工作。有任何想法吗?UberJar 的类加载器是否仅限于 jar 文件的内容?
Steve Moyer
问问题
2183 次
2 回答
1
从-jar命令行选项:
"-jar"使用该选项时,JAR 文件是所有用户类的来源,其他用户类路径设置被忽略
所以,看起来直接的答案是否定的。
您可以编写自己的引导类,该类使用通常的 java 类路径(包括您的 persistence.xml),然后引导 UberJar,尽管您可能正在使用 UberJar 来避免这种情况......
于 2008-10-08T10:57:44.207 回答
0
为了跟进我是如何解决这个问题的,我将 persistence.xml 文件和我的 jar 添加到类路径中,然后指定了主类。我的路径中还有未归档的类,这导致它们覆盖了 jar 设置。
于 2008-10-08T23:39:48.240 回答