首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apache procrun接收NoClassDefFoundError (Eclipse生成的jar),但在命令行上运行良好

使用Apache procrun接收NoClassDefFoundError (Eclipse生成的jar),但在命令行上运行良好
EN

Stack Overflow用户
提问于 2013-01-03 22:45:26
回答 2查看 1.3K关注 0票数 0

我将我的应用程序作为一个大型包从Eclipse导出,因此它使用Eclipse加载器。

代码语言:javascript
复制
set PR_CLASSPATH=C:\somepath\ECGIServer.jar
set PR_LIBRARYPATH=C:\somepath\native\lunaLibrary.dll
set PR_STARTMODE=jvm
set PR_STOPMODE=jvm

显然,还有更多,并且服务确实会运行。在ECGIServer.jar文件中,清单文件如下:

代码语言:javascript
复制
Manifest-Version: 1.0
Rsrc-Class-Path: ./ commons-codec-1.6.jar stax-api-1.0-2.jar LunaProvider.jar
Class-Path: .
Rsrc-Main-Class: ecgi.encrypter.ECgiServer
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

有更多的jar要列出,但太多了,无法编写。无论如何,当我在命令行运行它(ECGIServer.jar)时,它工作得很好。一旦应用程序创建了一个LunaProvider实例,我就会得到:

代码语言:javascript
复制
java.lang.NoClassDefFoundError: com/safenetinc/luna/provider/LunaProvider

正如您所看到的,LunaProvider是一个刚刚从我的ThridParty设置中引入的Eclipse库。

EN

回答 2

Stack Overflow用户

发布于 2013-01-04 02:58:17

最后,我们决定尝试将依赖目录从Eclipse导出到一个单独的目录。完成此操作后,我的所有依赖项,包括LunaProvider.jar都被转储到该目录中。我将install.bat文件中的以下行更改为:

代码语言:javascript
复制
set PR_CLASSPATH=C:\somepath\ECGIServer.jar;C:\somepath\ECGIServer_lib

一切都变得很好。还是找不到原因。

票数 0
EN

Stack Overflow用户

发布于 2014-05-13 22:04:53

我想让它工作的方法是分开生成jar和库文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14141105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档