2011-04-01 40 views
14

Một số câu hỏi là như thế nào: Làm thế nào tôi có thể đóng gói ứng dụng java của tôi thành một exe? Đây không phải là những gì tôi sẽ hỏi.exe ​​nhỏ để khởi chạy một ứng dụng java

tôi có thể khởi chạy ứng dụng của tôi bằng cách làm như sau:

java -jar myApp.jar 

đó làm việc một cách hoàn hảo (Giả sử máy có java 1.5.0 hoặc>)

Bây giờ những gì tôi đã nghĩ đến việc gặp là một MyApp .exe.

gì nó sẽ làm là như sau:

  1. kiểm tra nếu java được cài đặt trên máy và phiên bản của nó. nếu java không có nó sẽ nhắc nhở một hộp thoại để nói: "bạn cần phải cài đặt java để chạy myApp" chính xác như eclipse.exe không nếu nó không tìm thấy java. sau đó nó sẽ chấm dứt.
  2. nếu java ở đó, sau đó chạy lệnh hiệu quả javaw -jar app.jar và sinh ra quy trình.

bất kỳ ý tưởng nào?

+1

+1, câu hỏi hay. – aioobe

+0

Bạn không thể làm điều này dễ dàng hơn với một kịch bản lô đơn giản để kiểm tra java -version và nếu một câu trả lời hữu ích đạt được bạn có thể chạy char của bạn? – RoflcoptrException

+0

Có, tôi có thể sử dụng hàng loạt. Vấn đề là làm cho nó đơn giản cho những người dùng không quan tâm đến java, batches và vân vân. Chúng được sử dụng để bấm vào các tập tin 'exe' và đó là về nó. – chacko

Trả lời

0

Tôi đã bỏ câu hỏi này chưa được trả lời trong một thời gian rất dài. Tôi nghĩ thật công bằng khi nói rằng không có cách nào dễ dàng như vậy để làm như vậy. JSmooth trông giống như một công cụ tốt, nhưng nó khá hạn chế. Eclipse đã viết giải pháp riêng của mình và rất nhiều giải pháp khác được viết bằng java được triển khai như exe.

0

Thứ gì đó giống như tập lệnh theo lô đó sẽ không hoạt động?

@echo off 

for /f %%j in ("java.exe") do (
    set JAVA_HOME=%%~dp$PATH:j 
) 

if %JAVA_HOME%.==. (
    @echo java.exe not found 
) else (
    java -jar myApp.jar 
) 

Từ câu hỏi này: Discover from a batch file where is Java installed?

+1

chacko cần một tập tin exe. Người dùng cảm thấy thoải mái hơn với tệp exe hơn là một số tệp thực thi lạ kết thúc bằng .jar hoặc .bat chẳng hạn. – Stephan

+0

Đúng vậy, tôi chỉ muốn thể hiện một giải pháp thay thế. (Tuy nhiên bạn có thể sử dụng một dơi để exe wrapper;)) –

+0

Đừng quên để đưa exe wrapper của bạn bên trong một chương trình cài đặt tốt đẹp và cuối cùng để bọc chương trình cài đặt trong một số tập tin lưu trữ ^^ – Stephan

3

tôi đã thực hiện một điều tương tự như sử dụng NSISLaunch4j. NSIS cho phép bạn tạo tập lệnh thiết lập như bạn muốn với một số cửa sổ thuật sĩ, v.v., Launch4j cho phép bạn gói jar thực thi vào tệp exe. Tôi đã sử dụng cả hai để phân phối ứng dụng xoay cho 4000 người dùng. Để có độ chính xác cao hơn, tôi phải kiểm tra xem java 1.5 hay mới hơn đã được cài đặt trước khi bắt đầu cài đặt.

7

JSmooth thực hiện chính xác điều đó.

+0

ai có thể bình luận về chất lượng của mã nguồn mở ? có ai sử dụng thật không? – chacko

-1

Giả sử ứng dụng của bạn. có GUI & bạn có thể phân phối nó trên trang web ..

1) kiểm tra xem java có được cài đặt trên máy và phiên bản của máy không. nếu java không có nó sẽ nhắc nhở một hộp thoại để nói: "bạn cần phải cài đặt java để chạy myApp" chính xác như eclipse.exe không nếu nó không tìm thấy java. sau đó nó sẽ chấm dứt.

.. Sử dụng deployJava.js để đảm bảo một phiên bản tối thiểu cụ thể của Java là hiện tại, sau đó ..

2) nếu java là có, sau đó một cách hiệu quả chạy lệnh javaw app.jar -jar và spawn quá trình.

..use Java Web Start để khởi chạy ứng dụng. trực tiếp trên trang web. JWS cũng cung cấp nhiều tính năng gọn gàng khác và tương thích với bất kỳ hệ thống nào hỗ trợ Java.

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