我的开发团队最近被迫转到我们无法完全访问服务器的远程开发环境.在转换之前,我们有一个JAR在Java 1.7 x64和JRE 7上正常运行.当我们转移到新服务器时,我们的JAR运行正常,但随后其中一个服务器管理员将我们的Java"更新"到更旧版本版本并卸载了我们正在使用的版本.不要问我为什么,我不知道.我重新安装了Java 1.7并将其与JRE一起卸载了1.6.
运行时出现以下问题,没有构建错误:
Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.7', but '1.6' is required.
Error: could not find java.dll
Error: could not find Java SE Runtime Environment.
Run Code Online (Sandbox Code Playgroud)
我在我的笔记本电脑上运行相同的JAR没有任何问题.服务器和我的笔记本电脑在相应的%HOME%变量和系统路径中都有JDK 1.7和JRE 7.我甚至重新安装了JRE 6并将其放在系统环境PATH变量中,结果相同.
我也改变了注册表回过头来再看1.6和它的结果在下面,我抬头一看,这似乎是从具有安装(导致回到我原来的问题)多个Java类:
Exception in thread "main" java.lang.UnsupportedClassVersionError: ... :
Unsupported major.minor version 51.0
Run Code Online (Sandbox Code Playgroud)
我很感激你们所拥有的任何见解,因为我一直在寻找各种论坛,但似乎没有任何问题.此外,这也发生在我们正在使用的另一台服务器上.谢谢!
更新:没有运气将JAR重新编译为1.6或1.7并匹配JDK.另外,为什么世界上新版本的Java会破坏旧的编译版本呢?
在跑步的时候
sencha app build production
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
错误:注册表项'Software\JavaSoft\Java Runtime Environment'\ CurrentVersion'
值为'1.8',但需要'1.7'.错误:找不到java.dll错误:找不到Java SE Runtime Environment.
java -version ,命令显示如下:
java版"1.8.0_40"Java(TM)SE运行时环境(版本1.8.0_40-b26)Java HotSpot(TM)64位服务器VM(版本25.40-b25,混合模式)
无法找到路径出错的地方.任何的想法?
-----------------------编辑-------------------------- ----------------------
注意:我使用的是Windows 7(64位).
我已经尝试卸载sencha touch cmd并重新安装.但仍然是同样的错误.
我已经卸载了所有的java版本实例并重新安装了最新的版本,问题仍然存在.