当我尝试运行我的 jar 文件时,我看到了奇怪的行为。我可以毫无问题地从 netbeans 运行和执行我的 java 应用程序。但是,当我尝试从终端运行 jar 文件时,我在某些 Java 类中遇到了 NoClassDefFoundError
异常。
堆栈跟踪:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class java.nio.file.TempFileHelper
at java.nio.file.Files.createTempFile(Files.java:805)
at sun.font.FcFontConfiguration.writeFcInfo(FcFontConfiguration.java:391)
at sun.font.FcFontConfiguration.init(FcFontConfiguration.java:100)
at sun.font.FcFontConfiguration.<init>(FcFontConfiguration.java:75)
at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:747)
at sun.font.SunFontManager$2.run(SunFontManager.java:431)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<init>(SunFontManager.java:376)
at sun.awt.X11FontManager.<init>(X11FontManager.java:32)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorIm
将冗长的参数传递给 java,我可以看到加载了 java.nio.file.TempFileHelper
。
我在 linux (Fedora 20) 上运行我的应用
摘录:[从/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79-2.5.5.0.fc20.x86_64/jre/lib/rt 加载 java.nio.file.TempFileHelper .jar]
详细日志:http://pastebin.com/ekuQfkgG
我能做什么?
编辑: 使用用于编译应用程序的相同 java interpeter 运行我的应用程序:
/usr/java/jdk1.7.0_60/jre/bin/java -jar InstaladoruraClientes/Cliente.jar
最佳答案
您可能忘记将 JAVA_HOME 作为您的环境变量,路径为 ../bin 路径
关于java:从终端而不是从 netbeans 运行时出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30961847/