我试图用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
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文件夹中找到???我还尝试了以下命令: 这也不起作用。 题