我创建了一个Java应用程序,我想在Windows,OSX和Linux上分发而不分发jar文件.我使用了很棒的Windows exe包装器http://launch4j.sourceforge.net/来创建一个带有我的图标的.exe文件,它不会吓到Windows用户.
是否有类似的包装器,我可以用于OSX/Unix?一个重要的考虑因素是我希望在可执行文件上有自己的图标(特别是对于mac用户).
谢谢!
我创建了一个需要Java 7的.jar.我有Java 7(JDK和JRE),我可以双击运行.jar.但是,我想将其打包成一个应用程序.
我尝试过:使用Apple的Jar Bundler工具,我成功创建了一个应用程序; 然而,当我运行它时,它会很快出现并在码头中消失.当我JavaApplicationStub从终端运行内部文件时,我得到:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/lcmmun/kiosk/gui/Kiosk : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at apple.launcher.LaunchRunner.loadMainMethod(LaunchRunner.java:56)
at apple.launcher.LaunchRunner.run(LaunchRunner.java:112)
at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:51)
at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
Run Code Online (Sandbox Code Playgroud)
根据" unsupportedclassversionerror不支持major.minor版本51.0无法加载类 ",意味着我没有安装Java 7.但是我愿意.
所以我的假设是JavaApplicationStubJava 7不兼容.
我也听说过要完成同样任务的ANT任务,但它似乎太复杂了,我不知道如何使用ANT.如果这确实是解决方案,我会很乐意学习.
编辑:我现在也尝试过Eclipse的Export> Other> Mac OS Application Bundle.这也失败了.
我正在运行10.8 Mountain …