我的应用程序中包含了一些jar文件,我已将其添加到库中 在net beans中,可以读取和使用
我试图通过Clean和build在netbeans中创建一个可执行文件,并且我在构建包装集中拥有所有必需的属性,但是当我尝试双击jar时,没有任何反应。它应该从我的Main类运行jar
现在我尝试去cmd终端并使用以下方式进行:
java -jar myapp.jar
我添加了3个不同的罐子,包括sqlite-jdbc3.8.7,AbsoluteLayout,miglayout
但返回的是:
Exception in thread "main" java.lang.RuntimeException: Could not load SQLite JDBC driver
at myapp.database.DatabaseConProvider.<init>(DatabaseConPr
ovider.java:18)
at myapp.presenter.AppPresenter.<init>(AppPresenter.java
:32)
at myapp.Main.main(Main.java:17)
Caused by: java.lang.ClassNotFoundException: org.sqlite.JDBC
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at myapp.database.DatabaseConProvider.<init>(DatabaseConPr
ovider.java:16)
... 2 more
问题似乎是它无法访问已添加到项目中的jar文件,因为一旦我执行clean并在项目中构建/ dist文件夹只有myapp.jar但是也应该有README .txt和一个包含所有库的lib文件夹。如下所示:
http://netbeanside61.blogspot.co.uk/2009/08/making-executable-desktop-application.html
我正在使用带有netbeans 8.0.2的Windows 8
答案 0 :(得分:1)
使用资源管理器,您可以转到.jar文件的结构。 (或者将扩展名.jar重命名为.zip)
MANIFEST.MF
就像是Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.7.0_51-b13 (Oracle Corporation)
Class-Path: lib/sqlite-jdbc-3.8.7.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: Find
此处sqlite-jdbc-3.8.7.jar
位于GUIFormExamples.jar外的lib/
文件夹中
案例1 将lib文件夹放在appxx.jar所在的文件夹中
案例2 必须开箱即用
答案 1 :(得分:0)
如何管理应用程序依赖项?我鼓励你不要简单地将罐子加到你的netbeans&#34; - 用户使用某种项目/依赖关系管理工具 - Maven或Gradle。
然后,如果是maven,请检查以下答案: https://stackoverflow.com/a/574650/3080422
将您的应用程序移植到maven / gradle项目不会花费太多时间(但不幸的是,学习工具肯定会......)并且您获得了很大的灵活性。