我将我的应用程序作为一个大型包从Eclipse导出,因此它使用Eclipse加载器。
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文件中,清单文件如下:
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实例,我就会得到:
java.lang.NoClassDefFoundError: com/safenetinc/luna/provider/LunaProvider正如您所看到的,LunaProvider是一个刚刚从我的ThridParty设置中引入的Eclipse库。
发布于 2013-01-04 02:58:17
最后,我们决定尝试将依赖目录从Eclipse导出到一个单独的目录。完成此操作后,我的所有依赖项,包括LunaProvider.jar都被转储到该目录中。我将install.bat文件中的以下行更改为:
set PR_CLASSPATH=C:\somepath\ECGIServer.jar;C:\somepath\ECGIServer_lib一切都变得很好。还是找不到原因。
发布于 2014-05-13 22:04:53
我想让它工作的方法是分开生成jar和库文件夹。
https://stackoverflow.com/questions/14141105
复制相似问题