Tôi có 2 Dự án Web Java. Một chạy trên JDK 1.5 và cái kia chạy trên JDK 1.6. Tôi muốn chạy cả hai trên cùng một máy tính, nhưng biến môi trường JAVA_HOME chỉ có thể có một giá trị. Tôi muốn đặt JAVA_HOME cho mỗi máy chủ Tomcat.Cách đặt JAVA_HOME cho nhiều phiên bản Tomcat?
Trả lời
Một điều bạn có thể làm là sửa đổi catalina.sh (dựa trên Unix) hoặc catalina.bat (dựa trên cửa sổ).
Trong mỗi tập lệnh, bạn có thể đặt các biến nhất định mà chỉ các quy trình được tạo trong trình bao sẽ kế thừa. Vì vậy, đối catalina.sh, sử dụng các dòng sau:
export JAVA_HOME="intented java home"
Và đối với các cửa sổ sử dụng
set JAVA_HOME="intented java home"
Phiên bản cửa sổ có khác biệt với phiên bản unix không? Tôi không có anh chàng hàng loạt, nhưng tôi nghĩ đó là 'set', hay tôi đang hẹn hò với bản thân mình? –
Tôi đang sử dụng Windows XP và tôi đã thêm dòng "xuất JAVA_HOME =" C: \ Program Files \ Java \ jdk1.6.0_12 "vào đầu tệp Tomcat/bin/catalina.bat Nhưng Tomcat không thể bắt đầu Herr là một phần của tập tin rem Guess CATALINA_HOME của tôi nếu không được định nghĩa xuất khẩu JAVA_HOME = "C: \ Program Files \ Java \ jdk1.6.0_12" bộ JAVA_OPTS =% JAVA_OPTS% -Xmx512m bộ CURRENT_DIR =% cd% nếu không phải "% CATALINA_HOME%" == "" goto gotHome đặt CATALINA_HOME =% CURRENT_DIR% nếu tồn tại "% CATALINA_HOME% \ bin \ catalina.bat" goto okHome –
Ah. Sử dụng ác ý của dán sao chép! Tôi không có ý định đặt xuất khẩu cho phiên bản windows. Ry4an đã đúng trong tập hợp đó là lệnh chính xác. e câu trả lời. – bogertron
Ngoài ra, lưu ý rằng không nên có bất kỳ không gian sau khi =
:
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_27
Trong UNIX, tôi đã gặp sự cố này, tôi đã chỉnh sửa catalina.sh
theo cách thủ công và nhập
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24
echo "Using JAVA_HOME: $JAVA_HOME"
làm 2 dòng đầu tiên. Tôi đã thử đặt số JAVA_HOME
ở số /etc/profile
nhưng không được.
Điều này đã hiệu quả.
Chỉ cần một lưu ý ...
Nếu bạn thêm mã để setclasspath.bat hoặc setclasspath.sh, nó sẽ thực sự được sử dụng bởi tất cả các kịch bản Tomcat của bạn có thể chạy, thay vì chỉ Catalina.
Phương pháp thiết lập biến là như của người khác đã mô tả.
nơi một setenv.sh trong thư mục bin với
JAVA_HOME=/usr/java/jdk1.6.0_43/
JRE_HOME=/usr/java/jdk1.6.0_43/jre
hoặc một phiên bản khác của bạn đang chạy.
Không cần thêm 'JAVA_HOME' và' JRE_HOME'. _Nếu cả JRE_HOME và JAVA_HOME đều được chỉ định, JRE_HOME được sử dụng._ http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt – user454322
Linux dựa Tomcat6 nên có /etc/tomcat6/tomcat6.conf
# System-wide configuration file for tomcat6 services
# This will be sourced by tomcat6 and any secondary service
# Values will be overridden by service-specific configuration
# files in /etc/sysconfig
#
# Use this one to change default values for all services
# Change the service specific ones to affect only one service
# (see, for instance, /etc/sysconfig/tomcat6)
#
# Where your java installation lives
#JAVA_HOME="/usr/lib/jvm/java-1.5.0"
# Where your tomcat installation lives
CATALINA_BASE="/usr/share/tomcat6"
...
Nếu bạn là một người sử dụngWindows, đưa nội dung dưới đây trong một setenv.bat tập tin mà bạn phải tạo trong Tomcat bin thư mục.
set JAVA_HOME=C:\Program Files\Java\jdk1.6.x
Nếu bạn là một Linux người dùng, đưa nội dung dưới đây trong một setenv.sh tập tin mà bạn phải tạo trong Tomcat bin thư mục.
JAVA_HOME=/usr/java/jdk1.6.x
tôi đã cùng một vấn đề hệ điều hành của tôi là windows 8 và tôi đang sử dụng Tomcat 8, Tôi chỉ chỉnh sửa setclasspath .dơi tập tin trong thư mục bin và thiết lập JAVA_HOME và JRE_HOME như thế này ...
@echo off
...
...
set "JRE_HOME =% ProgramFiles% \ Java \ jre8"
set "JAVA_HOME =% ProgramFiles% \ Java \ jdk1.7.0_03"
...
...
và nó hoạt động tốt cho tôi bây giờ ......
Bạn có thể thêm setenv.sh trong thư mục bin với:
xuất khẩu JAVA_HOME = $ (readlink -f/usr/bin/java | sed "s: bin/java ::")
và nó sẽ tự động thay đổi khi bạn cập nhật gói của mình.
Đối với distro Debian chúng ta có thể ghi đè lên các thiết lập mặc định thông qua
/etc/default/tomcat6
Đặt JAVA_HOME
trỏ đến phiên bản java mà bạn muốn.
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
Tôi nghĩ rằng đây là một thực hành tốt nhất (Bạn có thể có nhiều ví dụ Tomcat trong cùng một máy tính, bạn muốn mỗi Tomcat dụ sử dụng khác Java Runtime Environment):
Đây là hướng dẫn sử dụng bên trong tệp: catalina.sh
# JRE_HOME Must point at your Java Runtime installation.
# Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
# are both set, JRE_HOME is used.
- 1. Tomcat 6 JAVA_HOME
- 2. tomcat startup.sh khó khăn khi tìm JAVA_HOME
- 3. Nutch-Cygwin Cách đặt JAVA_HOME
- 4. Cài đặt OpenCV cho Python (nhiều phiên bản python)
- 5. Phiên bản Tomcat trong JBoss?
- 6. Kiểm tra Tomcat 7 Phiên bản linux
- 7. Làm cách nào để thay đổi JAVA_HOME cho kiến?
- 8. Cách sử dụng nhiều phiên bản GCC
- 9. java web start JAVA_HOME
- 10. Tôi có thể cài đặt nhiều phiên bản Xcode không?
- 11. $ ant {} java.home điểm đến $ JAVA_HOME/jre, không $ JAVA_HOME
- 12. sử dụng nhiều CATALINA_BASE để thiết lập 6 phiên bản tomcat trên windows
- 13. Lưu nhiều phiên bản TinyMCE
- 14. Độ dài phiên của phiên trong Tomcat
- 15. Làm cách nào để đặt phiên bản trình cài đặt WiX thành phiên bản hiện tại?
- 16. Hadoop: «LRI: JAVA_HOME chưa được đặt»
- 17. Chia sẻ Phiên giữa các phiên bản tomcat (không sử dụng Các phiên cố định)
- 18. Số phiên bản .NET (Phiên bản trình cài đặt)
- 19. Sự khác nhau giữa JAVA_HOME và JRE_HOME
- 20. RequestDispatcher chuyển tiếp giữa các phiên bản Tomcat
- 21. Nhiều phiên bản Rails với rbenv
- 22. autospec với nhiều phiên bản Ruby
- 23. Áp dụng công cụ datepicker jQuery cho nhiều phiên bản
- 24. Kết hợp tệp Bố cục cho nhiều số phiên bản
- 25. đặt biến phiên cho phiên paramiko
- 26. Android - Cách tạo nhiều phiên bản hoạt động?
- 27. JAVA_HOME và java -version
- 28. cần tây với nhiều phiên bản django
- 29. Đặt HttpContext.User cho phiên
- 30. Tại sao Tomcat không thể tìm SMTPTransport (Phiên, URLName)?
Câu hỏi liên quan (đối với Linux): http://askubuntu.com/questions/154953/specify-jdk-for-tomcat7 –