2010-02-05 31 views
7

Tôi hiện đang làm việc để triển khai tự khởi động/định cấu hình cho các ứng dụng J2EE. Mục tiêu của tôi là để triển khai cài đặt Java, Máy chủ ứng dụng và triển khai ứng dụng mỗi lần. Thật không may tôi đang chạy vào các vấn đề tự động cài đặt java.Tự động hóa cài đặt Java trên Unix

Cài đặt java được cung cấp dưới dạng nhị phân tự giải nén (ví dụ: jre-6u18-solaris-sparc.sh). Vấn đề là khi bạn chạy nó, bạn sẽ được nhắc đọc thỏa thuận cấp phép và sau đó nhập có/không.

Trong nỗ lực tự động hóa, tôi đã giải nén tệp bằng cách sử dụng "giải nén" và mở rộng, nhưng có thể xảy ra lỗi hoặc một số bước bị bỏ qua xảy ra khi tệp tự giải nén được thực hiện. Khi tôi chạy java, nó phàn nàn rằng các thư viện bị thiếu hoặc các thông báo lỗi khác.

Công việc hiện được lên kế hoạch của tôi là tải xuống và cài đặt theo cách thủ công, sau đó nén nội dung được trích xuất và lưu trữ phân phối được sửa đổi nội bộ. Không lý tưởng b/c Tôi không còn làm việc với bản phân phối gốc từ SUN.

Trả lời

5

Các kịch bản cài đặt có thể thay đổi trên mỗi nền tảng nhưng trên Linux, có 3 rào cản bạn cần phải vượt qua:

  • Spacing qua lâu EULA
  • Bước vào "yes" để chấp nhận EULA
  • Nhấn Enter sau khi cài đặt xong.

Bạn có thể nhận được ngay với điều này bằng cách lặp lại và một dòng mới vào kịch bản trong khi chuyển hướng stdout để /dev/null để EULA không in:

echo "yes" "\n" | ./jdk-6u16-linux-i586.bin 1>/dev/null 

Bạn có thể phải chỉnh điều này trên Solaris

+0

Trải nghiệm tương tự trên Solaris. Và s/stdin/stdout/ở trên. – pra

+0

Cảm ơn vì điều đó – Kevin

1

Bạn sẽ không cân nhắc sử dụng tập lệnh 'expect' để làm điều đó ... thay vì làm theo cách khó xử, tập lệnh sẽ chỉ nhập 'Có' khi đến trang thỏa thuận ... liên kết tải xuống là here. Hiệu quả là trình bao bọc sử dụng kỳ vọng chứa gói ...

Hy vọng điều này sẽ giúp ích, Trân trọng, Tom.

0

Hãy xem Hudson hoạt động như thế nào. Nó có thể tự động tải xuống và cài đặt ít nhất Java 1.4, 5 và 6 từ Sun ở chế độ nền.

Các vấn đề liên quan