当前位置: 首页 > 知识库问答 >
问题:

如何使用hibernate配置为maven eclipse项目创建可运行的jar文件

印宏阔
2023-03-14

我试图用hibernate配置从我的eclipse maven项目中创建一个jar文件。

这是我的项目的结构,我在resources/和src/main/resources/文件夹中都有hibernate.cfg.xml文件。我通过从导出选项中选择runnable jar file来生成jar文件。(由于来自链接的帮助)

这是我在运行可执行jar文件时得到的错误:

ehsanik$ java -jar oh_oh.jar 
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.ExceptionInInitializerError
    at com.jvmhub.tutorial.App.StartDB(App.java:25)
    at CopyOfMain.main(CopyOfMain.java:7)
    ... 5 more
Caused by: org.hibernate.HibernateException: /hibernate.cfg.xml not found
    at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:173)
    at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1940)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1921)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1901)
    at com.jvmhub.tutorial.App.StartDB(App.java:19)
    ... 6 more

共有1个答案

翟泰
2023-03-14

DR溶液

hibernate.cfg.xml放入src/main/resource中。然后不要通过Eclipse的导出函数导出您的项目。相反,使用maven-assembly-plugin创建可执行JAR。使用MVN包程序集运行:single

eclipse做什么以及为什么它不能工作

如果在eclipse选项中选择“Export”,则编译的类(由eclipse编译)将被放入该JAR中。但是Eclipse对Maven标准目录布局一无所知。它只会把文件留在他们的文件夹里。另一方面,Maven将把src/main/resources-文件夹中的所有资源复制到jar文件的根目录中。

如何阅读您看到的错误

第一个错误:

log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.

这意味着log4j没有找到log4j.properties或.xml。它未配置。这是第一个暗示,你的建设是不需要的。

第二个错误:

Caused by: org.hibernate.HibernateException: /hibernate.cfg.xml not found

第二个提示是,您的资源不在库将其删除的位置(在本例中是hibernate)。

 类似资料:
  • 我正在尝试使用Eclipse(版本Kepler SR2)将一个Java项目打包到一个可运行的jar中。这个项目使用的是Maven(这是我学习的,我对它不太了解)。问题是,该项目在Eclipse中运行良好,但在导出到Jar后,它再也找不到所需的任何资源。 下面是文件夹结构: 资源是通过以下方式加载的: 当从Eclipse执行程序时,这一行工作得非常好,但当使用我用“export>java>runna

  • 我正在MAC OS X 10.8.3上使用Intellij IDEA 12.0.4创建jar文件。 我去文件- 现在,如果我尝试使用以下命令运行jar: 我得到这个错误 在path\u to\u jar/jar\u文件中,没有主清单属性。$java-version(java)version“1.7.0\u 17” java(TM)SE Runtime Environment(build 1.7.0

  • 问题内容: 到目前为止,我已经通过Eclipse的“导出…”功能创建了可运行的JAR文件,但是现在我切换到IntelliJ IDEA和Gradle进行构建自动化。 这里的一些文章建议使用“应用程序”插件,但这并不能完全导致我期望的结果(只是JAR,没有启动脚本或类似的东西)。 如何通过Eclipse的“导出…”对话框获得相同的结果? 问题答案: 可执行jar文件只是清单中包含Main- Class

  • 我已经使用Netbean将我的项目使用ant打包为可运行的jar,但是对于我的新项目,它使用maven,在Netbean中我找不到将项目设置为可运行的jar的设置,怎么做?

  • 当通过命令行(cd进入包含可运行jar的目录)运行jar时,输出如下: 消息的最后一点告诉我,配置文件找不到,尽管它正在从某个地方读取配置模式布局(configuration PatternLayout)。当将选项-dlog4j.configurationFile选项添加到命令中时,会发生以下异常(除了前面的错误消息之外): 我尝试将-dlog4j.configurationFile值指定为“c:

  • 问题内容: 使用Maven 3.1 Eclipse Helios Aspekt: 尝试使用maven-jar / dependency-plugins创建可运行的jar文件。 问题: 创建jar文件和依赖项后,当我尝试使用命令启动jar文件时出现NoCLassDefFoundErrors 但是类/文件可以在./dependency-jars文件夹中找到???我还尝试了以下命令: 这也不起作用。 题