【问题标题】:com/sencha/core/functional/Action : Unsupported major.minor version 51.0 with java 1.8com/sencha/core/functional/Action:不支持的major.minor 51.0版和java 1.8
【发布时间】:2017-01-09 01:37:38
【问题描述】:

我不相信这是重复的,因为我无法在 stackoverflow 和其他网站/论坛上找到适用的解决方案。我在下面列出了我尝试过但没有奏效的所有内容。

我试图在 OSX El Capitain 的终端中运行命令“sencha app build native”,但遇到以下错误。

Sencha Cmd v6.1.3.42
[INF] Using GPL version of Sencha Touch version 2.3.0 from /Users/myuser/Downloads/MyProject_2/touch.
[INF] The implications of using GPL version can be found here (http://www.sencha.com/products/extjs/licensing).
[INF] Processing Build Descriptor : native
[INF] Loading app json manifest...
[INF] Writing output to file /Users/myuser/Downloads/MyProject_2/build/temp/production/MyProject/sencha-compiler/cmd-packages.js
[INF] writing content to /Users/myuser/Downloads/MyProject_2/bootstrap.js
[INF] appending content to /Users/myuser/Downloads/MyProject_2/bootstrap.js
[INF] appending content to /Users/myuser/Downloads/MyProject_2/bootstrap.js
[INF] appending content to /Users/myuser/Downloads/MyProject_2/bootstrap.js
[INF] Appending content to /Users/myuser/Downloads/MyProject_2/bootstrap.json
[WRN] C1014: callParent has no target (me.callParent in Ext.dataview.DataView.onAfterRender) -- /Users/myuser/Downloads/MyProject_2/touch/src/dataview/DataView.js:892
[WRN] C1014: callParent has no target (this.callParent in Ext.Decorator.setDisabled) -- /Users/myuser/Downloads/MyProject_2/touch/src/Decorator.js:157
[WRN] C1014: callParent has no target (this.callParent in Ext.data.ArrayStore.loadData) -- /Users/myuser/Downloads/MyProject_2/touch/src/data/ArrayStore.js:64
[WRN] C1014: callParent has no target (this.callParent in Ext.fx.animation.Wipe.getData) -- /Users/myuser/Downloads/MyProject_2/touch/src/fx/animation/Wipe.js:119:7
[INF] Writing concatenated output to file /Users/myuser/Downloads/MyProject_2/cordova/www/app.js
[INF] merging 0 input resources into /Users/myuser/Downloads/MyProject_2/cordova/www/resources
[INF] merged 0 resources into /Users/myuser/Downloads/MyProject_2/cordova/www/resources
[INF] merging 46 input resources into /Users/myuser/Downloads/MyProject_2/cordova/www
[INF] merged 0 resources into /Users/myuser/Downloads/MyProject_2/cordova/www
[INF] writing content to /Users/myuser/Downloads/MyProject_2/sass/example/bootstrap.js
[INF] appending content to /Users/myuser/Downloads/MyProject_2/sass/example/bootstrap.js
[INF] appending content to /Users/myuser/Downloads/MyProject_2/sass/example/bootstrap.js
[INF] appending content to /Users/myuser/Downloads/MyProject_2/sass/example/bootstrap.js
[INF] appending content to /Users/myuser/Downloads/MyProject_2/sass/example/bootstrap.js
[ERR]
[ERR] BUILD FAILED
[ERR] java.lang.UnsupportedClassVersionError: com/sencha/core/functional/Action : Unsupported major.minor version 51.0
[ERR]   at com.sencha.command.BasePluginCommands$BasePluginCom
[ERR] mand.dispatch(BasePluginCommands.java:260)
[ERR]
[ERR] Total time: 7 seconds
[ERR] The following error occurred while executing this line:
/Users/myuser/Downloads/MyProject_2/.sencha/app/build-impl.xml:285: The following error occurred while executing this line:
/Users/myuser/Downloads/MyProject_2/.sencha/app/sass-impl.xml:310: The following error occurred while executing this line:
/Users/myuser/Downloads/MyProject_2/.sencha/app/sass-impl.xml:316: com.sencha.exceptions.BasicException: com/sencha/core/functional/Action : Unsupported major.minor version 51.0

错误告诉我我的 java 设置有问题,但我不知道是什么问题。在终端中检查我的版本会显示以下内容。

$ java -版本 java版本“1.8.0_101” Java(TM) SE 运行时环境 (build 1.8.0_101-b13) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.101-b13,混合模式)

通过系统首选项打开 java 仅显示安装了一个 Java 版本,即 1.8,安装路径位于 '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java'

在终端中运行 '/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version' 也会显示版本 1.8

运行 '/usr/bin/java -version' 也会给出 1.8 版

我已尝试添加这 3 行的变体以尝试解决问题,但它似乎并没有改变任何东西。如您所见,我还尝试更改内存以防万一它可能是内存问题

ANT_OPTS="-Xms1024m -Xmx2048m"
export PATH="/usr/local/bin:$PATH"
export JAVA_HOME="/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"

我也尝试运行 'sencha app build -c',但出现了同样的错误。

我还尝试将以下内容添加到 sencha.cfg 以查看是否有帮助

cmd.jvm.args=-Xms512m -Xmx2048m

我还尝试从苹果 https://support.apple.com/kb/dl1572 安装此更新,它说它安装的是 Java 6 运行时的旧版本

我也尝试安装 java sdk 7 和 java sdk 8 看看是否有帮助,没有运气

我还可以尝试做什么来修复与 Sencha 构建相关的错误“Unsupported major.minor version 51.0”

【问题讨论】:

  • 也许你的 pom 中声明了错误的目标版本?
  • @Jens 抱歉,我主要是 php 开发人员,在我的项目文件夹中没有看到 pom.xml 文件。在哪里可以找到此设置?

标签: java sencha-touch osx-elcapitan sencha-cmd


【解决方案1】:

我终于通过将我的 JAVA_HOME 变量更改为“/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home”解决了这个问题

我将以下内容放在 .bashrc 和 .bash_profile 中,确保删除与 java 或 JAVA_HOME 变量相关的任何其他内容。您可以使用类似 'nano /Users/$USER/.bash_profile' 的命令来编辑文件

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home"
export PATH=$JAVA_HOME/bin:$PATH

在终端中键入“echo $JAVA_HOME”以确保设置正确的路径。

然后重新启动你的 mac 并尝试再次运行“sencha app build native”命令,它应该可以工作或抛出一个不同的错误(至少是它的进度)

请注意,在执行此操作之前您需要安装 jdk 1.7,请在此处下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

您的版本可能与我的不同,因此打开终端并输入“cd /Library/Java/JavaVirtualMachines/”以切换目录,然后输入“ls -la”以列出您在那里拥有的所有文件。您应该会看到一个名为 jdk1.7.0_XX.jdk 的文件

【讨论】:

    猜你喜欢
    • 2014-01-08
    • 1970-01-01
    • 2014-03-17
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多