我的程序在Eclipse中运行良好。但是,如果我尝试将其导出为可运行的jar文件,则双击时该jar文件不会打开。在Eclipse中是否有一种直接导出为.app文件的方法?
我的程序在Eclipse中运行良好。但是,如果我尝试将其导出为可运行的jar文件,则双击时该jar文件不会打开。在Eclipse中是否有一种直接导出为.app文件的方法?
.app
文件。
.app
只是一个包含JAR文件的文件夹,其内有一些XML文件指定类路径等。您可以阅读该指南获得所有详细信息。不是所有的应用程序都只包含一个jar文件。如果你想让这个jar文件运行,你需要设置一些东西来告诉JRE打开它。但我不建议这样做。
至少有两个独立的Ant任务可以获取一个JAR文件和相关资源并构建一个.app
包。来自java.net的appbundler任务生成在Oracle Java 7 JRE上运行的.app
包,而jarbundler任务生成在由Apple提供的Java 6上运行的包。但是,由于Oracle(7)和Apple(6)Java使用基本不同的API从启动器存根中生成JVM,因此任何任务都无法生成可以在Java 6和7上运行的.app
。如果您想将Java应用发布到Mac App Store,则必须使用Java 7并嵌入JRE的副本到.app
包中(appbundler可以为您完成此操作)。相反,如果您希望您的应用程序可在Mac OS X版本10.6或更早版本上运行,则需要使用Java 6。
你在另一个答案中的评论表明你的应用程序需要本地库。你需要将此库与JAR文件一起放入.app
包中。对于Java 6包(与JAR文件相同的位置),.jnilib
需要放在Contents/Resources/Java
中,对于Java 7包,您需要在<librarypath>
文件集中指定库,然后它将被appbundler复制到正确的位置(Contents/MacOS
)。
当你导出时,必须选择可运行的Jar文件,然后双击它即可运行。