2016-09-01 15 views
7

Tại sao khởi động Spring theo các ứng dụng web đóng gói mặc định là .jar? Có bất kỳ lợi thế hơn .war?Ứng dụng web gói khởi động Spring tới .jar

Không được tất cả các ứng dụng web được đóng gói dưới dạng .war để được triển khai cho máy chủ web thực?

Tôi nghĩ rằng các tệp .jar dành cho các ứng dụng dành cho máy tính để bàn trong khi các tệp .war dành cho các ứng dụng web. kể từ .jar không chứa thành phần ứng dụng web như đã đề cập ở đây:

Java war vs. jar - what is the difference?

Trả lời

5

Bạn liên kết với một câu hỏi về một WAR vs một JAR, trong khi JAR mùa xuân khởi động của thực sự là một JAR, nó chứa nhiều hơn những gì bạn thường đặt bên trong một JAR. Khởi động mùa xuân đi kèm với một embedded servlet container, bên trong chính nó là the JAR.

Vì vậy, sự khác biệt:

  • Một JAR: Thông thường chứa nguồn tài nguyên/thư viện/các ứng dụng máy tính để bàn/...
  • Một WAR: Một ứng dụng web có thể chạy trên một container web
  • Việc khởi động mùa xuân JAR chất béo: Một ứng dụng web chạy trên container web riêng của mình

về câu hỏi của bạn:

Không được tất cả các ứng dụng web được đóng gói dưới dạng .war để được triển khai cho máy chủ web thực?

Nếu bạn muốn chạy ứng dụng web trên vùng chứa servlet hiện có, bạn phải use a WAR file. Nhưng JAR khởi động Spring đi kèm với thùng chứa servlet riêng của nó, vì vậy bạn hoàn toàn có thể chạy nó.

Lựa chọn nào của hai bạn chọn là lựa chọn của riêng bạn. Mặc dù Josh Long's mantra là "Tạo JAR chứ không phải WAR".

+0

đồng ý: làm JAR, không WAR – JonyD

0

Tôi nghĩ rằng toàn bộ điểm của springboot là tốc độ phát triển với cấu hình tối thiểu. Vì vậy, bạn có thể nghĩ rằng họ cung cấp ra khỏi giải pháp hộp, máy chủ (tomcat hoặc cầu cảng) được nhúng trong bình.

Ngoài ra các dịch vụ vi mô trên đám mây đang quảng bá máy chủ nhúng trong jar chỉ để máy chủ có thể được tối ưu hóa chỉ cho ứng dụng và không cần thiết lập máy chủ tomcat cho ứng dụng nhỏ.

Nếu bạn muốn, bạn có thể tạo ra chiến tranh của ứng dụng khởi động mùa xuân
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html

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