我创建了一个需要Java7的。jar。我有Java7(JDK和JRE),我可以双击运行。jar。但是,我想把它打包到一个应用程序中。
我所尝试的:使用苹果的Jar捆绑工具,我成功地创建了一个应用程序;然而,当我运行它时,它很快在码头上出现和消失。当我从终端运行内部文件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)
根据“UnsupportedClassVersionError unsupported Major.minor version 51.0无法加载类”,这意味着我没有安装Java7。但我有。
我运行的是10.8美洲狮,64位。
您认为ApplesJavaApplicationStub
位于以下位置,这是完全正确的:
system/library/frameworks/javavm.framework/resources/macos/javaapplicationstub
只与苹果自己为Mac OS X构建的Java包兼容。
有些人甚至拼命试图手动将由AppleJavaApplicationStub
读取的Info.plist
中的JVMVersion
属性值从文档化的文本1.6
或1.6+
增加到未文档化的文本,如1.7
。这也不起作用,即使您已经安装了Oracles Java7软件包,也会出现这样的对话框。
因此,您可能会发现退役的Apple Java6世界和未来的Oracle Java7世界之间的其他不一致之处。
要构建基于Oracles Java7的应用程序包,需要使用Oracles AppBundler Ant任务,该任务包含OraclesJavaApplauncher
。这款软件现在只支持Oracles Java7 for Mac OS X,并且不向后兼容苹果自己的Java系统包。
现在的好消息是,您可以将Oracles Java7 html" target="_blank">JRE内联到您的应用程序包中。它将包含在目录中
内容/插件
在应用程序包中,例如
我正在尝试将我的Java应用程序导出到Mac。该应用程序基于编译器兼容级别1.7。我尝试了不同的方法来捆绑应用程序。 1)Eclipse。我可以用来在Eclipse上导出的JVM的最新版本是1.6*。 2)Maven。在Maven上似乎也存在同样的问题。当我使用以下命令时,它显示了一个版本相关的错误。 Maven命令 Maven返回的错误 而且
我下载了一个Github项目,我的团队将为它做开发工作(它是私有的,所以共享它没有帮助)。它包括一个具有以下依赖项的pom.xml文件: 这个项目依赖于Java7。在其他人的情况下研究这个问题--看起来他们的java和mvn版本以及JAVA_HOME环境变量不一致,所以让我向您展示一些终端输出: 我最好的猜测是这是一个环境问题--但为什么会有问题,它会在哪里? 在研究中,其他人通过将tools.j
我将IntelliJ IDEA作为jar文件构建在javaFX应用程序中。使用“Project Structure>>Artifacts>>>+JavaFX Application”,我可以构建。app、.dmg、.pkg、.exe,并包含JRE。但我需要构建相同的文件没有JRE捆绑。当然,我可以使用JAR,但我想做我自己的图标,也许安装程序。 我还尝试从jar创建.app文件夹,以手动执行它“j
null 支持与平台无关的应用程序图标 支持对JAR的自动更新 运行my.jar时对JRE参数的支持 Linux支持(.deb或.rpm)
对于剑道中的绑定行为,似乎有一个相当奇特的设计决策。 我试图绑定一个null值到一个下拉列表。如果(远程来源的)值为null,那么Kendo将生成对象以绑定到该值,例如,使用下拉列表的data-value-field/value。这使得保存修改后的视图模型非常不可靠,因为现在整个对象将被传输,而不是简单的数据类型。 示例:为。从下拉列表中选择值后,如 值(JSON)然后是而不是 有人对此有一个好的
if绑定 if绑定应用在页面元素中,并通过表达式判断是否为元素添加子元素的绑定。if绑定在功能上非常像visible绑定,但在实现上却有很大的不同。visible绑定是为元素添加css样式来控制元素是否显示,if绑定是控制元素的字元素,如果表达式为true,则为元素添加子元素,否则清空子元素。 示例代码: //.W片段 <label> <input type="checkbox" bind-c