Lưu ý: Tôi nhận ra điều này là đã khá một câu hỏi cũ, nhưng nhiều câu trả lời được đăng ở đây là không đầy đủ hoặc không chính xác .. Hy vọng rằng điều này sẽ giúp tiết kiệm một vài cơn đau đầu.
Thứ nhất: Tomcat không cần một JDK để chạy, nó sẽ hoạt động tốt với một JRE, miễn là nó biết đó là một JRE.
Thứ hai, lỗi từ câu hỏi ban đầu đến từ một vấn đề với cú pháp của lệnh set JAVA_HOME=...
. Bản thân Apache có thể xử lý nó tốt hơn bằng cách tước và thêm "
dấu ngoặc kép.
Ngoài ra, tôi đặc biệt khuyên bạn nên tạo tệp setenv.bat
trong thư mục bin
. Nó vắng mặt theo mặc định, vì vậy nếu bạn chưa có, hãy tạo nó và thêm các dòng set JAVA_HOME=...
hoặc set JRE_HOME=...
của bạn ở đó.
Run với JRE
Theo running.txt:
Biến JRE_HOME được sử dụng để xác định vị trí của một JRE. Biến số JAVA_HOME được sử dụng để xác định vị trí của một JDK.
Sử dụng JAVA_HOME cung cấp quyền truy cập vào một số tùy chọn khởi động bổ sung không được phép khi sử dụng JRE_HOME.
Nếu cả hai JRE_HOME và JAVA_HOME đều được chỉ định, JRE_HOME được sử dụng.
Vì vậy, để khởi động theo cách này, bạn sẽ cần những điều sau đây:
set "JAVA_HOME="
set "JRE_HOME=C:\Program Files (x86)\Java\jre7"
Xoá biến JAVA_HOME
là một failsafe, nhưng nó không thực sự cần thiết. Theo tài liệu, Tomcat sẽ thử sử dụng biến JRE trước.
Giải pháp cho phát hành trong Câu hỏi
Hãy lưu ý đặc biệt vị trí của dấu ngoặc kép. Bằng cách này, giữ toàn bộ chuỗi với nhau trong một biến, mà không bao gồm dấu ngoặc kép trong chính nội dung biến.
Ví dụ:
set %TEST%="hello"
echo "%TEST%"
Will ra ""hello""
.
set "%TEST%=hello"
echo "%TEST%"
Đầu ra sẽ "hello"
.
Vì vậy, tập lệnh lô khởi động đã cố gắng sử dụng ""C:\Program Files (x86)\Java\jre7""
, trong đó không gian thoát không đầu tiên nằm giữa "Chương trình" và "Tệp".
Như đã được chỉ ra, việc xóa dấu ngoặc kép (trong trường hợp cụ thể này ít nhất) sẽ hoạt động, nhưng rất nguy hiểm khi dựa vào đó. Thay vì chơi nó an toàn ngay từ đầu và quấn tên biến và giá trị trong dấu ngoặc kép.
Hãy thử thiết lập JAVA_HOME như biến môi trường hệ thống, đi đến Nâng cao Tab các thiết lập hệ thống , nhấp vào Mới và đặt JAVA_HOME. –
Đường dẫn của bạn chứa khoảng trắng, điều này không hoạt động trong các tệp .BAT. Bạn phải kèm theo đường dẫn của bạn trong dấu ngoặc kép. 'đặt JAVA_HOME =" C: \ Program Files (x86) \ Java \ jre7 "'. Tuy nhiên bạn đang trỏ đến một JRE, cho tomcat để làm việc bạn phải trỏ đến một JDK (tomcat cần một trình biên dịch và đó không phải là một phần của JRE nhưng của JDK). –