如何从Windows构建适用于Mac OS X 10.6的jar?

时间:2012-03-13 15:23:47

标签: windows macos build java

我的java应用程序存在一些问题,我在Win7(64位)下使用Eclipse构建它:它在Snow Leopard 10.6.8上不起作用。错误是:"The JAR file .... could not be launched".

我已检查过是否在Mac上安装了Java,是的,首先执行64位选项的JRE。

我的应用程序没有使用任何特定的库:

import java.net.*;
import java.io.IOException;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

..所以我真的不明白为什么它在Mac上不起作用,有什么建议吗?非常感谢您的帮助

更新 是的,它适用于Windows,我使用Java 6,不幸的是我没有OS X,我已将我的应用程序发送给有OS X的朋友,所以我无法打开终端(我的朋友从未打开过它大概...)。无论如何,谢谢你的建议。

UPDATE2:这是输出消息

13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]     Exception
in thread "main"
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]     java.lang.UnsupportedClassVersionError:
Main : Unsupported major.minor version 51.0
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.lang.ClassLoader.defineClass1(Native Method)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.lang.ClassLoader.defineClass(ClassLoader.java:615)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.net.URLClassLoader.access$000(URLClassLoader.java:58)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.net.URLClassLoader$1.run(URLClassLoader.java:197)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.security.AccessController.doPrivileged(Native Method)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.net.URLClassLoader.findClass(URLClassLoader.java:190)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.lang.ClassLoader.loadClass(ClassLoader.java:306)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
13/03/12 19.09.30       [0x0-0x2d52d5].com.apple.JarLauncher[44675]             at
java.lang.ClassLoader.loadClass(ClassLoader.java:247)

2 个答案:

答案 0 :(得分:0)

您应该只需双击jar文件,但是,如果出现任何问题,输出将转到系统日志。让您的朋友双击运行Console应用程序的jar文件(在Utilities文件夹中)并显示系统日志查询中的所有消息。

从长远来看,如果你想要一个漂亮的图标等,你需要为jar和支持文件创建一个OS X包。曾经有一个名为Jar Bundler的工具用于执行此操作(仅在OS X上运行),但我的dev工具副本不再具有它。我相信你可以从某个地方得到它。

答案 1 :(得分:0)

首先,我确保我有相同的JRE,显然我的是JRE7,所以在Eclipse中我改变了它。我还修改了运行/调试配置:在环境中 - >添加新变量DYLD_FALLBACK_LIBRARY_PATH = / opt / local / lib 哪个应该有助于在OsX上执行。最后,我再次将所有内容导出到JAR,它也在Mac上运行。

感谢您的合作。

我希望这个答案可以帮助其他人......