Tôi đã kinh hãi trước sự vụng về của các ý tưởng CLASSPATH, JAVA_HOME và PATH, trong Windows, để theo dõi các tệp Java. Tôi đã đến đây, vì có nhiều JRE và cách tương tác với nó. Nếu không có thông tin hồi sinh, từ một chàng trai thông minh hơn tôi nhiều, tôi thà chỉ vào bài viết của anh ấy về vấn đề này, mà đối với tôi, giải quyết nó một cách hoàn hảo.
Điều bởi: Ted Neward: Multiple Java Homes: Giving Java Apps Their Own JRE
Với sự tăng trưởng theo cấp số nhân của Java như một ngôn ngữ phát triển server-side đã đến một equivablent tăng trưởng theo cấp số nhân trong các công cụ phát triển Java, môi trường, khuôn khổ, và phần mở rộng. Thật không may, không phải tất cả các công cụ này đều chơi độc đáo với nhau trong cùng một cài đặt Java VM. Một số yêu cầu môi trường tuân thủ Servlet 2.1, một số yêu cầu 2.2. Một số chỉ chạy dưới JDK 1.2 trở lên, một số dưới JDK 1.1 (và không cao hơn). Một số yêu cầu các gói "com.sun.swing" từ pre-Swing 1.0 ngày, các gói khác yêu cầu tên gói "javax.swing".
Tệ hơn nữa, vấn đề này có thể được tìm thấy ngay cả trong doanh nghiệp của công ty, vì hệ thống được phát triển bằng cách sử dụng Java từ 6 tháng trước có thể đột ngột "không hoạt động" do cài đặt một số Tiện ích mở rộng Java không có liên quan) phát hành ứng dụng. Điều này có thể làm phức tạp việc triển khai các ứng dụng Java trên toàn công ty và dẫn khách hàng tự hỏi chính xác lý do tại sao, sau năm năm bắt đầu các tai ương "Cài đặt-ứng dụng-ứng dụng-phá-hệ thống" này bắt đầu với các chương trình DLL của Microsoft, chúng tôi vẫn chưa tiến xa hơn thế. (Trên thực tế, sáng kiến .NET mới thực sự tìm cách giải quyết vấn đề "DLL-Hell" khét tiếng chỉ mô tả.)
Bài viết này mô tả cách cấu hình cài đặt Java sao cho ứng dụng đã nhận riêng, riêng tư , JRE, cho phép nhiều môi trường Java cùng tồn tại mà không cần lái xe khách hàng (hoặc hệ thống quản trị viên) mất ...
Trên Windows, để ngừng trình cài đặt Java thay thế cài đặt Java hiện có (cài đặt lần đầu), bạn phải vượt qua nó STATIC = 1 đối số tức là chạy từ dòng lệnh "jre-6u24-windows-i586-s.exe/STATIC = 1" –
Khi tôi thực hiện "jdk-6u27-windows-x64.exe/STATIC = 1" trên Windows 7 64, nó không cài đặt, nó chỉ trả về một cửa sổ pop-up hiển thị cách sử dụng cho msiexec. – yetimoner
Theo [tài liệu này từ Oracle] (http://docs.oracle.com/javase/7/docs/webnotes/install/windows/jre-installer-options.html) nó thực sự là 'jdk -... exe STATIC = 1'. Tôi đã thử nó và nó đã hoạt động. – Matt