Tùy thuộc vào ứng dụng. Có nhiều tùy chọn tùy thuộc vào cách bạn muốn người dùng sử dụng ứng dụng của mình. Thông thường nó được đóng gói như một cái lọ hoặc một lọ chuyên dụng (chiến tranh, tai).
Về lý thuyết, bạn có thể nén cấu trúc thư mục thô bằng các tệp .class
trong đó và cung cấp tập lệnh/hướng dẫn shell chạy lệnh java
cho người dùng. Tôi không khuyên bạn nên điều này bởi vì nó là loại không chuyên nghiệp và yêu cầu bạn phải duy trì một kịch bản shell cho mỗi hệ điều hành bạn muốn để có thể chạy chương trình trên.
Jar files được sử dụng để đóng gói thư viện nhưng bạn cũng có thể có tệp kê khai trong đó có nội dung "Khi ai đó nhấp đúp/thực hiện việc này, hãy chạy lớp này". Lớp đó có thể khởi động GUI hoặc là nhiệm vụ không đầu đáp ứng các tham số, v.v.
Bạn có thể có applets, như bạn đã nói. Các chương trình này được chạy trong trình duyệt của người dùng.
Bạn có thể có một war file, là cách để đóng gói ứng dụng web. Bạn đưa nó cho một máy chủ web và nó biết cách triển khai nó để bạn có thể truy cập các trang web. Máy chủ web/vùng chứa mẫu là tomcat hoặc jetty.
Bạn có thể có ear file có thể chứa các tệp chiến tranh khác bên trong. Điều này được sử dụng cho các ứng dụng cần các phần khác của hàm javaee (ejbs, hàng đợi jms, v.v.). Ví dụ về máy chủ ứng dụng là jboss hoặc glassfish.
Ngoài ra còn có java web start ứng dụng. Đây là những ứng dụng bạn có thể chạy bằng cách truy cập một trang web nhưng chúng được tải xuống máy tính của bạn và chạy trên máy tính của người dùng (thay vì phụ trợ của máy chủ, như trong chiến tranh/tai).
Ngoài ra còn có javafx. Tôi không biết gì về điều đó. By skimming the FAQ, có vẻ như câu trả lời của Java là Adobe's Flex. Bạn cấu hình các thành phần giao diện người dùng với cấu hình xml. Tôi không chắc chắn những gì các ứng dụng JavaFX định dạng sử dụng, nhưng nó nói, "Triển khai trên máy tính để bàn hoặc trong trình duyệt".
Như Sotirios Delimanolis đã đề cập trong nhận xét bên dưới, bạn có thể tạo những tệp này bằng hệ thống xây dựng như Ant hoặc Maven. Bạn cũng có thể xây dựng chúng "bằng tay" với các công cụ đi kèm với java/javaee sdk. Ví dụ, bạn cần có lệnh jar
trong đường dẫn nếu bạn đã cài đặt sdk. Dưới đây là một số chi tiết của những xây dựng hệ thống:
- Maven
- cấp cao (bạn nói với nó những gì để xây dựng, không làm thế nào để xây dựng nó)
- nhiều hơn chỉ là một hệ thống xây dựng. Nó cũng có quản lý phụ thuộc vv
- khăng khăng (nó sử dụng quy ước về cấu hình, mỗi tập tin cấu hình tạo ra 1 vật, vv)
- Ant
- mức thấp (bạn nói với nó như thế nào để xây dựng mọi thứ)
- Flexible
- file Config có thể làm bất cứ điều gì bạn muốn, xây dựng như nhiều hiện vật như bạn muốn
- Dễ học
- Công cụ SDK
- Luôn được cập nhật. EG: Rất hiếm khi, maven/ant có thể không có khả năng thiết lập một tùy chọn cấu hình
- Khó nhớ lệnh
- mức rất thấp
- Bằng cách riêng của mình, không lặp lại (EG: trừ khi bạn xây dựng một kịch bản, bạn sẽ có để gõ lệnh jar mình mỗi lần)
Trong 14 năm qua, tôi chỉ triển khai Server Side Java (không sử dụng applet) Hôm nay, tôi nghi ngờ applet là một tỷ lệ phần trăm nhỏ của tất cả các chương trình Java. –
Xem http://docs.oracle.com/javase/tutorial/deployment/, http://docs.oracle.com/javaee/6/tutorial/doc/bnaby.html –