2012-03-13 34 views
0

我的Java应用程序出现了一些问题,我在Win7(64位)下使用Eclipse构建了它:它在Snow Leopard 10.6.8上不起作用。错误是:"The JAR file .... could not be launched".如何从Windows为Mac OS X 10.6构建一个jar包?

我检查过,如果Java安装在Mac上,并且是,首先执行的是64位选项JRE。

我的应用程序不使用任何特殊的库:

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

..所以我真的不明白为什么它不会在Mac上,任何建议的工作?非常感谢您的帮助

UPDATE: 是的,它适用于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) 
+3

听起来像你正在试图做一个可执行的jar。你有没有试图在Windows上启动它?它有用吗? – gorjusborg 2012-03-13 15:25:25

+1

您使用哪个Java JRE/JDK版本? Snow Leopard只支持Java 6 ... – Robert 2012-03-13 15:33:42

+0

@Robert也许更重要的是JDK代码是用什么编译的,并且使用什么*交叉编译选项?* – 2012-03-13 15:45:56

回答

0

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

感谢您的合作。

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

0

你应该能够只需双击jar文件,但是,如果出现任何错误,输出会去到系统日志。让您的朋友双击运行控制台应用程序的jar文件(在Utilities文件夹中),并显示来自系统日志查询的所有消息。从长远来看,如果你想要一个漂亮的图标等,你将需要为jar和支持文件创建一个OS X捆绑软件。过去有一种叫做Jar Bundler的工具(只能在OS X上运行),但我的开发工具副本不再拥有它。我相信你可以从某个地方得到它。