我有以下情形:一个Java桌面应用程序,该应用程序使用Reflection调用Java Legacy类。旧版模块执行一些本机操作(访问智能卡)。
在Eclipse上运行时,一切工作正常:我将Java桌面应用程序作为Java项目,它具有一组包含Java旧版JAR文件的库。
现在,我已经从Eclipse项目中创建了一个可运行的JAR文件:当我尝试访问Java Legacy层时,发出以下错误:java.lang.UnsatisfiedLinkError:本机库sunmscapi.dll已经加载到另一个类加载器中
真正令我困惑的是为什么它在Eclipse上可以正常运行,而Eclipse使用与可运行的JAR文件相同的JDK设置?任何帮助
实际上,Eclipse在启动应用程序时不会执行可运行的JAR文件,而只是添加单个类路径条目(请参阅.classpath文件)。尝试仅在jar文件中导出桌面应用程序,然后使用-classpath添加所有其他库(包括旧版应用程序)。然后,您将拥有与Eclipse相同的环境,并且它们的输出不应有所不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句