我的应用程序访问一个Derby数据库,我已经将Derby.jar添加到项目中的库中。它在编译时运行良好,在Netbeans环境中运行良好,但一旦我构建了项目,dist文件夹中只有我的application.jar文件。该程序仍将运行,但一旦我尝试对数据库执行任何操作,它就会挂起。
我尝试将包含Derby.jar的lib文件夹添加到application.jar的主目录中,但仍然遇到了同样的问题。
我是德比的新手,我对此感到困惑,有什么建议吗?
上面的答案1没有解决这样一个事实:在运行应用程序之前,您需要首先连接到IDE的服务选项卡中的数据库,而当您在IDE之外运行应用程序时,这是不可能的。
这是因为您没有将项目的外部jar依赖项(如Derby的jar)添加到项目的可执行jar的类路径中。基本上,试着在这里遵循他们的教程:
http://netbeans.org/kb/articles/javase-deploy.html#Exercise_1
标题为"在IDE之外运行应用程序"的章节以及之后的章节。
我已经很久没有使用Netbeans了,所以我不知道他们现在是否添加了这个功能,但使用Eclipse,你也可以制作一个"胖"的可执行jar,所有的外部jar都封装在这个可执行jar中,Eclipse添加了一个特殊的类加载器,使所有这些都能工作。这是一个名为"将所需库打包到生成的jar中"的选项。也许Netbeans现在也可以通过一些导出功能或类似的功能来实现这一点。