2011-04-19 55 views
9

Làm cách nào để tôi có thể cài đặt chương trình java?Làm cách nào để cài đặt chương trình Java?

Tôi có một ứng dụng được lưu trong không gian làm việc Eclipse của tôi.

Tôi có thể xuất dưới dạng tệp .jar.

Đây là ứng dụng "thực tế".

Làm cách nào để xuất tệp thành ".exe" hoặc ".dmg" để có thể cài đặt trên máy khác?

Vì Java là nền tảng độc lập, tôi nghĩ rằng đó là vấn đề xuất khẩu cho một hệ điều hành cụ thể.

Tôi đã googled rất nhiều và đọc rất nhiều câu chuyện khác nhau, vì vậy tôi muốn một câu trả lời từ một người có kinh nghiệm.

+0

thể trùng lặp của [biên dịch-một-java-chương trình vào-an-exe] (http://stackoverflow.com/questions/2011664/compiling-a-java-program-into-an- exe) – asgs

+0

Đây thực sự là hai câu hỏi trong một. Tạo trình khởi chạy (.exe cho Windows và .app cho OSX) và sau đó tạo trình cài đặt (.msi cho Windows và .dmg cho OSX). Bạn có kiểm tra xem việc vận chuyển JAR thực thi có phải là một lựa chọn không? – KDM

+0

Đúp: http: //stackoverflow.com/questions/147181/how-can-i-convert-my-java-program-to-an-exe-file – SjB

Trả lời

8

Tôi đoán những gì bạn đang tìm kiếm không chỉ làm cho chương trình chạy được (như đề xuất lobster1234) mà còn làm cho nó thực sự có thể cài đặt được. Gần đây, chúng tôi đã sử dụng IzPack. Nó thực sự trông rất đẹp.

Ngoài ra còn có một số hướng dẫn khá chi tiết trên herehere

+1

+1 cho IzPack. Nó trông đẹp và có tài liệu phong nha. – KDM

4

file Jar thường là con đường để đi, vì JVM có thể trực tiếp thực hiện các tập tin đóng gói thông qua các lệnh java -jar <jarfile>. Java WebStart là tốt nếu bạn muốn phân phối ứng dụng của bạn từ một trang web, vv Tuy nhiên, một số hệ điều hành không có "tính năng" được cài đặt, ngay cả khi JVM là có. Một giải pháp khác là phải có ít nhất 3 tập lệnh để khởi chạy ứng dụng của bạn (hàng loạt cho Windows, kịch bản lệnh shell cho Linux và bất kỳ máy Mac nào cần - xin lỗi, không có máy Mac -).

Không tạo tệp thực thi nguyên gốc (ví dụ: exe cho Windows), chúng thừa vì bạn đã có JVM cho điều đó.

+0

Tệp JAR không chứa biểu tượng trong Windows. –

+0

Có một lý do tại sao jar được phân phối như EXE là một lựa chọn khả thi cho rằng với quá trình EXE, bạn có thể đính kèm 'AppUserModelID' đúng cho tương tác Jump List trong Windows 7 đặc biệt trong khi ghim thanh tác vụ kết hợp với trình cài đặt thiết lập hỗ trợ phím tắt Windows với thuộc tính 'AppUserModelID' – eee

+0

không phải là điểm của Java có thể viết các ứng dụng độc lập nền tảng? Có một tập tin .exe ám rằng vô nghĩa; cũng có thể tạo ra một tệp thực thi cho Linux và Mac trong trường hợp đó. Bạn * có thể * có biểu tượng với trình khởi chạy, trong bất kỳ hệ điều hành nào ngay bây giờ. Lập luận đó không mang nhiều trọng lượng. –

2

Tôi đang mạo hiểm một flamewar ở đây nhưng tôi là trò chơi :) Trừ khi bạn đang ở trên một nền tảng nơi JRE đã được biết là tồn tại (ví dụ: OS X) nó sẽ là một rắc rối cho bạn và/hoặc người dùng cuối. Vấn đề là các ứng dụng java đơn giản không độc lập và phụ thuộc vào một khung công tác lớn.

JRE, Java Web Start hoặc bất kỳ thứ gì bạn sử dụng phải được đặt trên hệ thống đích. Ngoài ra bạn phải có một phóng của một số loại. Nó có thể là một cái gì đó đơn giản như một kịch bản chạy java, cung cấp classpath, vv Điều này sẽ không cần thiết nếu java "biên dịch" cho một exe hoặc một cái gì đó nhưng đó chỉ là cách nó hoạt động.

Đây là một trong những lý do tôi đã tắt khi triển khai Java cho máy người dùng cuối. Nó chỉ là rất nhiều rắc rối. Tôi đã từng làm việc trên một dự án mà chúng tôi thực sự nhúng một toàn bộ jre tư nhân đã được triển khai bởi trình cài đặt. Nó không đẹp nhưng nó đã hoàn thành công việc.

0

Các bạn đã cung cấp cho bạn rất nhiều tùy chọn để tôi không muốn nhắc lại chúng nữa. Tùy chọn duy nhất bị thiếu ở đây là trường hợp bạn thực sự cần cài đặt chương trình, nghĩa là thực hiện một số logic, sửa đổi cấu hình hệ thống, hoặc tạo nhiều shortcut, sao chép nhiều tập tin, cấu hình các sản phẩm của bên thứ ba đã được cài đặt) v.v.

Trong trường hợp này, bạn có thể sử dụng InstallAnywere, EzPack hoặc các giải pháp tương tự (xem http://java-source.net/open-source/installer-generators) Ví dụ: nếu dự án của bạn tương đối đơn giản, tôi khuyên bạn nên sử dụng AntInstaller.

BTW nếu bạn sợ rằng khách hàng của bạn có thể chưa cài đặt JRE trên máy của mình, bạn có thể đóng gói mã của bạn (hoặc trình nạp tốt hơn) bằng cách sử dụng Launch4J để tạo tệp thực thi từ mã java của bạn.

1

Kể từ Java 8, jdk hiện có khả năng tạo cài đặt riêng cho Windows, OSX và Linux. Tuy nhiên, trên Windows, nó phụ thuộc vào Inno Setup 5 trở lên hoặc WiX 3.0 trở lên.

https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1324980

Cách đơn giản nhất để tạo ra một ứng dụng khép kín là thay đổi nhiệm vụ triển khai. <fx:deploy width="${javafx.run.width}" height="${javafx.run.height}" nativeBundles="all" outdir="${basedir}/${dist.dir}" outfile="${application.title}"> <fx:application name="${application.title}" mainClass="${javafx.main.class}"/> <fx:resources> <fx:fileset dir="${basedir}/${dist.dir}" includes="*.jar"/> </fx:resources> <fx:info title="${application.title}" vendor="${application.vendor}"/> </fx:deploy>

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