我们有一个用Eclipse开发的Java应用程序。我们正在使用认可的文件夹,该文件夹在jars下方保存jaxb依赖
jaxb-api-2.2.11.jar
jaxb-core-2.2.11.jar
jaxb-impl-2.2.11.jar
jaxb-jxc-2.2.11.jar
jaxb-xjc-2.2.11.jar
为了在运行时指向这些jar,我们已将认可的文件夹路径更新为应用程序的.ini文件,例如-Djava.endorsed.dirs=./endorsed
。我们的应用程序将安装在C:\Program Files
下,并且将认可的文件夹放置在应用程序的文件夹内。
这在某些虚拟机中工作正常,但在几个虚拟机中看到 java.lang.NoClassDefFoundError 。
我尝试了以下提到的一些事情:
创建_JAVA_OPTIONS环境变量并指向认可的文件夹:相同 看到了java.lang.NoClassDefFoundError。
已将_JAVA_OPTIONS环境变量创建并在C:\Program Files
之类的地方将认可文件夹移动到C:\temp\endorsed
之类后指向了认可文件夹:此问题已解决。
这可能是什么原因?在某些虚拟机中,即使JVM位于C:\ Program Files内,JVM仍能够从认可的文件夹中选择jar,而在某些设备中,JVM则是无法从认可的文件夹中选择罐子。