gpt4 book ai didi

java - 执行JAR时,得到ExceptionInInitializerError : version. properties not found

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:31 24 4
gpt4 key购买 nike

我一直在用 Eclipse 编写一个在 IDE 中完美运行的小项目。然后我通过 Eclipse 构建了一个可运行的 .jar 文件(它应该包括 jar 本身内的每个依赖库)。

我在我的项目中使用了 3 个库:

  • derby.jar
  • qtjambi-4.7.1.jar
  • qtjambi-win32-msvc2008-4.7.1.jar

然后我使用这个命令(在 windows 中):

java -jar prova.jar

我明白了:

Connected to database

Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.ExceptionInInitializerError: version.properties not found!
at com.trolltech.qt.Utilities.<clinit>(Unknown Source)
at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(Unknown Source)
at com.trolltech.qt.QtJambiObject.<clinit>(Unknown Source)
at WAAAGH.main(WAAAGH.java:52)
... 5 more


如您所见,derby.jar 正在按预期工作(“连接到数据库”),但是 Qt-Jambi 出现了一个我无法理解的错误。有什么想法吗?


编辑: WAAAGH 是包含主要方法的类,第 52 行包括:

QApplication.initialize(args);

最佳答案

QtJambiObject 是如何加载的?你把它打包到你的 prova.jar 里了吗?丢失的文件 version.properties 应该是顶级相同 jar 的一部分(不在任何子目录中)。看来您还没有将它打包到顶层的 prova.jar 中。参见 this解释它是如何加载的。

在命令行上指定所有 jar 和主类可能会更好:

java -classpath prova.jar;derby.jar;qtjambi-4.7.1.jar;qtjambi-win32-msvc2008-4.7.1.jar <your main class>

替换; with : 如果你在 *nix 上运行

关于java - 执行JAR时,得到ExceptionInInitializerError : version. properties not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7608765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com