0

我遇到了这个讨厌的错误:

2013-06-18 15:06:01.908 java[3805:2617] Cocoa AWT:Apple AWT Java VM 已在第一个线程上加载——无法启动 AWT。(
    0 liblwawt.dylib 0x000000016cf11ba2 JNI_OnLoad + 468
    1 libjava.dylib 0x0000000109fbd6d1 Java_java_lang_ClassLoader_00024NativeLibrary_load + 207
    2 ???0x000000010a093f90 0x0 + 4463345552
)
_NSJVMLoadLibrary:/libjawt.dylib 的 NSAddLibrary 失败
JavaVM FATAL:查找函数 JAWT_GetAWT 失败。出口

为了兼容性,我当前的 intelliJ SDK 设置为 1.6,我使用的是 Mountain Lion 10.8.4。有趣的是,它在 intelliJ 上运行良好,但运行时出现上述错误:

java -jar jarfile.jar

上面的代码运行并打开 GUI 应用程序一瞬间,然后关闭并给我错误。感谢您的帮助!

编辑:错误的权限被拒绝部分已被删除,因为它不是特定错误的贡献者:

java -jar /Users/santoki/Documents/workspace/copakb\client_b/copakb-client/out/artifacts/copakb_client_jar/copakb-client.jar

编辑2:我通过这样做将目标切换到1.6,并得到以下错误:

Mac-mini:~ bigbitecode$ export JAVA_HOME=`/usr/libexec/java_home -v '1.6*'`
Mac-mini:~ bigbitecode$ java -version
java版本“1.6.0_45”
Java(TM) SE 运行时环境(构建 1.6.0_45-b06-451-11M4406)
Java HotSpot(TM) 64 位服务器 VM(内部版本 20.45-b01-451,混合模式)
Mac-mini:~ bigbitecode$ java -jar /Users/bigbitecode/Documents/workspace/sys\ sys_b/sys-client/out/artifacts/sys_client_jar/sys-client.jar
线程“主”java.lang.UnsupportedClassVersionError 中的异常:SysClient/data/gui/SysClient:不支持的 major.minor 版本 51.0
    在 java.lang.ClassLoader.defineClass1(本机方法)
    在 java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    在 java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    在 java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    在 java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    在 java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    在 java.security.AccessController.doPrivileged(本机方法)
    在 java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    在 java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    在 java.lang.ClassLoader.loadClass(ClassLoader.java:247)
4

1 回答 1

0

如果您看到权限被拒绝错误,您应该尝试使用sudo来运行您的命令...

sudo java -jar jarfile.jar

您还应该检查您的 jar 访问的所有文件,并确保您已为所需操作设置正确的权限。您可以为此使用 chmod

sudo chmod a+rx <you_filename_here>
于 2013-06-18T22:41:18.890 回答