我正在尝试将我的Java应用程序导出到Mac。该应用程序基于Compiler Complience Level 1.7。我尝试了不同的方法来捆绑应用程序。
1)Eclipse。我可以用来在Eclipse上导出的最新版JVM是1.6 *。
2)Maven。看起来在Maven上也存在同样的问题。正如我使用command后,它显示了与版本相关的错误。
系统:
~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这样的其他替代品但是没有用。
答案 0 :(得分:1)
OSX上有两种不同的Java应用程序包。旧版本适用于Apple Java版本(最高为Java 6),而较新版本适用于Oracle Java(7及更高版本)。 maven osxappbundle插件只支持前者,这就是为什么它不会在6之后使用Java。我假设你使用的eclipse工具是相同的。
This alternative Maven plugin声称可以使用Oracle Java版本。
答案 1 :(得分:1)
在OS X中创建Java应用程序包的新推荐方法是使用Oracle的appbundler。这是基于Ant的。
还有fork提供了一些额外的功能。