无法捆绑Java应用程序1.8 for Mac
我正在尝试将我的Java应用程序导出到Mac。 该应用程序基于Compiler Complience Level 1.7。 我尝试了不同的方法来捆绑应用程序。
1)Eclipse。 我可以用来在Eclipse上导出的最新版JVM是1.6 *。
2)Maven。 看起来在Maven上也存在同样的问题。 当我使用以下命令时,它显示与版本相关的错误。
系统:
~Jack$ java -version java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode).
Maven方法
Maven Command
mvn package osxappbundle:bundle -DmainClass=com.example.Main
Maven返回的错误
type javax.swing.JList does not take parameters
和
cannot access org.json.JSONArray bad class file: org/json/JSONArray.class(org/json:JSONArray.class) class file has wrong version 52.0, should be 50.0
*我知道这些错误与Java的版本有关。 我的编译器是1.7但是当我使用maven捆绑它时,将显示上面的错误。
Eclipse方法
Version: Luna Service Release 1a (4.4.1)
我该怎么办? 我可以找到像JarBundler这样的其他替代品但是没有用。
OSX上有两种不同的Java应用程序包。 较旧版本适用于Apple Java版本(最高为Java 6),而较新版本适用于Oracle Java(7及更高版本)。 maven osxappbundle插件只支持前者,这就是为什么它不会在6之后使用Java。我假设你使用的eclipse工具是相同的。
这个替代Maven插件声称可以使用Oracle Java版本。
在OS X中创建Java应用程序包的新推荐方法是使用Oracle的appbundler 。 这是基于Ant的。
还有一个fork提供了一些额外的function。