2015-01-05 13 views
5

Sau khi cài đặt Java JDK 8 trên Windows của tôi xây dựng máy chủ, tôi chạy vào các lỗi sau khi thực hiện các sencha lệnh:Sencha Cmd + 5 Java 8 Lỗi

C:\> sencha 

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' 
has value '1.8', but '1.7' is required. 
Error: could not find java.dll 
Error: Could not find Java SE Runtime Environment. 

Các Sencha Cmd Hướng dẫn ngụ ý rằng Java 8 chưa được hỗ trợ (tuy nhiên Sencha Cmd hoạt động tốt trên máy trạm Mac OS X của tôi với Java 8):

Sencha Cmd requires Java Runtime Environment version 1.7 to support all functionality...

tôi vẫn còn có JDK 7 được cài đặt trên máy chủ. Có cách nào để buộc Sencha Cmd sử dụng một cài đặt JDK khác không? Thay đổi JAVA_HOME và PATH sysenvs không hoạt động, và chỉnh sửa registry không phải là một tùy chọn.

UPDATE: tôi đã chạy ngang qua this question nơi nhiều java.exe file gây ra lỗi tương tự (và đó là chắc chắn là một khả năng đây) tuy nhiên maven, ant, tomcat, Jenkins, và một loạt các công cụ Java khác đang làm việc tốt. Tôi đã chỉ thấy lỗi này với Sencha Cmd.

Trả lời

2

Thử workaround sau đây để sử dụng SenchaCMD mới nhất làm việc với JDK8:

  1. kiểm tra biến môi trường PATH của bạn; đặc biệt là đường dẫn cài đặt java đúng (s)
  2. mở cửa sổ lệnh và đi đến thư mục sencha-cmd
  3. sử dụng SenchaCMD chỉ thực hiện "sencha.jar" -file với java:

     
    java -jar sencha.jar 
    

Bây giờ, bạn sẽ thấy tất cả thông tin phiên bản về SenchaCMD-Tool đã thực hiện.

Tested với JDK 1.8.0u25 và SenchaCMD 5.1.0.26 trên W7 GS x64

+0

công trình này! giải pháp tuyệt vời –

7

Để làm điều này một chút cụ thể hơn, tôi theo lời khuyên ben và tạo ra những điều sau sencha.bat tập tin trong thư mục cài đặt của tôi:

@echo off 
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 
set PATH=%JAVA_HOME%\bin;%PATH% 
set SENCHA_HOME=%~dp0 
java -jar "%SENCHA_HOME%\sencha.jar" %* 

và tôi đổi tên thành hiện sencha.exe một cái gì đó vô hại. Bây giờ tôi có thể chỉ cần gõ "sencha" tại dòng lệnh mà không cần thêm phiền phức. Tất nhiên, nếu bạn có một phiên bản Java 7 khác, bạn sẽ cần phải chỉnh sửa JAVA_HOME ở trên.

+0

Tuyệt vời! Với giải pháp này, không cần phải thao tác các biến môi trường đăng ký hoặc đường dẫn hoặc hạ cấp các công cụ Android hoặc thứ khác. – Shivan

+0

Đây là một giải pháp tốt, có vẻ như sencha.exe không phải là tôn trọng hoặc là nếu không đặt lại biến môi trường PATH. –

7

biến môi trường 'Path' My đang lập bản đồ 'C: \ ProgramData \ Oracle \ Java \ javapath', trong đó có 3 phím tắt cho sau tập tin từ đường dẫn C: \ Program Files \ Java \ jre1.8.0_xx \ bin ':

  • java.exe
  • javaw.exe
  • javaws.exe

Nhưng những tập tin này cũng có mặt trong 'C: \ Windows \ System32'; nếu bạn gọi 'java' từ thư mục này, bạn sẽ có lỗi tương tự (Lỗi: Khóa đăng ký ...) Bằng cách thay thế 3 tệp này trong 'C: \ Windows \ System32' bằng một tệp từ 'C: \ Program Files \ Java \ jre1.8.0_xx \ bin '; nó sẽ giải quyết vấn đề.

+0

Đây là vấn đề đối với tôi, cảm ơn! Bạn có thể kiểm tra xem đây có phải là vấn đề của bạn không bằng cách đổi tên các tệp này bằng đuôi .old trong thư mục System32 và sau đó chạy lại. Nếu đây là vấn đề, các lỗi sẽ đơn giản biến mất :) – pje

0

Tôi đã có chính xác điều này, thấy rằng tôi đã được yêu cầu cập nhật chính sencha cmd. Tôi đã extjs 5.1 cmd 5.1.0, tải xuống extjs 6.0.1 và cố gắng nâng cấp ứng dụng sencha {new_extjs6_path} ứng dụng của tôi. Đã nhận được lỗi ở trên, đã tìm ra rằng tôi cũng được yêu cầu cập nhật cmd thành 6.0.1.