2017-04-17 70 views
1

刚刚安装了transcrypt。自动测试编译成功,但在缩小时失败。我尝试更新到JRE 8,但同样的错误。任何建议,使其工作?Transcrypt自动测试编译失败,显然在缩小步骤

谢谢!

$ uname -a 
Darwin Michaels-Mac-mini 15.6.0 Darwin Kernel Version 15.6.0: Mon Jan 9 23:07:29 PST 2017; root:xnu-3248.60.11.2.1~1/RELEASE_X86_64 x86_64 

$ python --version 
Python 3.5.1 :: Anaconda 4.0.0 (x86_64) 

$ transcrypt -h 
Transcrypt (TM) Python to JavaScript Small Sane Subset Transpiler Version 3.6.24 
Copyright (C) Geatec Engineering. License: Apache 2.0 

$ java -version 
java version "1.6.0_65" 
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4833) 
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode) 

$ transcrypt -b autotest.py 
Transcrypt (TM) Python to JavaScript Small Sane Subset Transpiler Version 3.6.24 
Copyright (C) Geatec Engineering. License: Apache 2.0 

Saving result in: /Users/mellis/anaconda3/lib/python3.5/site-packages/transcrypt/development/automated_tests/transcrypt/__javascript__/autotest.js 
Saving minified result in: /Users/mellis/anaconda3/lib/python3.5/site-packages/transcrypt/development/automated_tests/transcrypt/__javascript__/autotest.min.js 
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/javascript/jscomp/CommandLineRunner : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621) 
    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) 

Ready 

回答

1

从看来,当你安装了JRE 8,你的系统仍然使用JRE 6的控制台输出:

$ Java的版本

Java版本 “1.6.0_65”

的Java(TM)SE运行时环境(建立1.6.0_65-b14-468-11M4833)

爪哇热点(TM)64位服务器VM(建立20.65-b04-468,混合模式)

由于你在苹果公司,应该有一个“系统偏好”对话框。只要您的计算机上存在多个JRE版本,此对话框中应该有一个项目,允许您更改Java的设置,包括默认的哪个版本。

参见:

java.lang.UnsupportedClassVersionError

您还可以更改通过命令行这些设置,请参阅:

How to set or change the default Java (JDK) version on OS X?

+0

谢谢,雅克。这些链接指向了正确的方向。我最终通过找到新的java可执行文件并在我的虚拟环境中为它创建一个符号链接来修复它。编译autotest.py现在完成并生成缩小文件。 –