Võ Văn Hải's blog

Chỉ có một điều tuyệt đối đó là mọi thứ đều tương đối…

Đóng gói 1 ứng dụng java thành file EXE

Bạn đã biết được cách tạo 1 file execuable jar file ở bài viết trước, bây giờ tôi sẽ chỉ cho chúng ta cách biến nó thành file exe.

Đầu tiên, bạn phải có phần mềm exe4j, bạn có thể download phần mềm này tại đây

Sau khi cài đặt, Chương trình EXE4J sẽ hởi động và yêu cầu bạn cung cấp serial key, bạn chạy 1 console sau đó thực thi lệnh java Keygen, bạn sẽ có được serial, copy và paste vào để bẻ khóa ứng ụng.
Màn hình sau xuất hiện OK sau khi bạn thực thi lân đầu thành công.First

Nhấnnút Next, Chọn “JAR in EXE” mode, nhấn Next
E2

Gõ Tên của ứng dụng, ví dụ MyFirstEXE, Chọn output directory, ví dụ C:\TyEx. Nhấn Next
E3

Chọn các tham số như hình. Nhấn Next
E4

Nhấn nút dấu + màu xanh, chọn Archive trong phần “Entry Type”, chọn file Jar của chúng ta như hình
E5
Nhấn OK, sau đó nhấn nút “…” của ô text “Main Class”, exe4j sẽ tự động tìm thấy lớp có chứa phương thức main. Chọn lấy rồi nhấn OK. Kết quả như hình
E6
Nhấn Next, Chọn Version của JRE mà ứng dụng support, phần Minimum version gõ vào 1.3, phần Maximum Version để trống. Nhấn Next.

Bước tiếp theo sẽ là chọn splash screen(màn hình sẽ xuất hiện trong khi ứng dụng nạp vào bộ nhớ).
E7
Bạn có thể bỏ qua bước này.

Nhấn Next để xem báo cáo tổng quát các thiết lập của bạn. Nhấn Finish để chương trình đóng gói ứng dụng của bạn. Kết quả như sau
E8

Nhấn nút “Click here to start the Application” để chạy thử ứng dụng của bạn.

Trong thư mục C:\TyEx của bạn sẽ có 1 file MyFirstEXE.exe. Bây giờ bạn có thể triển khai ứng dụng của bạn dưới dạgh file exe được rồi.

Phu u u  u u u u u ù. May quá! Chúc thành công!

35 Responses to “Đóng gói 1 ứng dụng java thành file EXE”

  1. hero said

    minh khong biet crack.chi voi

  2. vovanhai said

    Đã viết “Sau khi cài đặt, Chương trình EXE4J sẽ hởi động và yêu cầu bạn cung cấp serial key, bạn chạy 1 console sau đó thực thi lệnh java Keygen, bạn sẽ có được serial, copy và paste vào để bẻ khóa ứng ụng.”
    Có nghĩa là vầy:
    1. vào Start của windows, chọn run sau đó gõ vào CMD
    2. Di chuyển thư mục hiện hành đến thư mục bạn giải nén file Keygen.class, giả sử là C:\exe4j bản sẽ có trong cửa sổ dos: C:\exe4j\>
    3. Gõ vào lệnh: C:\exe4j\>java Keygen, nhấn enter.
    4. Bạn sẽ thấy code crack. copy nó.
    Lưu ý: để gõ được lệnh java bạn phải tùy biến môi trường PATH đến thư mục cài đặt java %JAVA_HOME%\bin.

  3. lang tu said

    thay cho en hoi ssu ddung phan men eclipse nhu the nao a ?

  4. MinhNguyen said

    Sao mà em vẩn không crack được . Lấy được key nhưng ko được !

  5. Spring_River said

    De build thanh file .exe thi thanh cong, nhung chuong trinh cua to co lien ket voi CSDL SQL, khi chay khong tim thay du lieu trong khi du lieu co, vay add library ket noi voi SQL o dau de no tim thay?

  6. vuthuc said

    Em đóng gói được nhưng khi ra sử dụng thì nó lại báo sai. Không hiểu vì lý do gì nữa. Rất mong sự giúp đỡ của Admin cũng như các bạn xa gần. Chào thân ái !
    Vũ Thức

  7. [...] Để biến nó thành file EXE, bạn tham khảo tại đây [...]

  8. manticohd said

    Khi em đóng gói thử như thầy hướng dẫn thì khi nhấn (….) thì không thấy một phương thức nào cả, mặc dù em đã chọn được File “.jar” Vậy em phải làm thế nào ạ?

    Ứng dụng mà em muốn đóng gói có chức năng in Report dạng “.pdf”( sử dụng JasperReport+IReport 3.5.3) thì em phải làm như thế nào ạ?

  9. ntsasng said

    Build thành file *.exe ngon lành, sau đó chạy lại báo lỗi, là sao thầy :D, thầy có biết soft build jar thành exe nào khác không?

  10. QuocLong said

    Thầy cho em hỏi! em đã build thành file .exe thành công, nhưng chương trình của em có kết nối với CSDL SQL server 2000, khi chạy không tìm thấy dữ liệu , vậy add library kết nối với SQL ở đâu để nó tìm thấy?

  11. hongdung said

    em lam nhu cach cua thay de be khoa ma ko dc thay oi…no cu bao la nhu vay:

    Mong thay giup dum

  12. nguyễn văn cường said

    Thầy ơi ! Thế ứng dụng có chứa cả imageicon, sound… thì làm sao để đóng gói thành file .exe thì nó cũng attach theo.em cảm ơn Thầy!

  13. Võ Văn Hải said

    cái này em lưu trong folder tương ứng, copy theo file exe.

  14. Nguyen Van Sang said

    một file jar thì em chuyển thì nó chạy, nếu jar của em có kèm theo một forder lib(chứa các thư viện .jar) thì phải làm sao. em biết là phải add vào nhưng không biết là add nó vô như thế nào. Xin thầy hướng dẫn.

  15. Võ Văn Hải said

    Địa chỉ này sẽ giải tất cả các thắc mắc của bạn. Hay!
    http://www.yagga.net/java/metajar/

  16. Nguyen Van Sang said

    hay quá. em làm được rồi. Nhưng mà file .exe này chỉ chạy được trên nền máy tính đã cài JRE rồi, vậy có cách nào mình tích hợp JRE vào file .exe này không vậy thầy, như vậy mới có thể chạy ở những máy không có cài JRE. Cám ơn thầy!

  17. Võ Văn Hải said

    trong lúc em tạo file exe, có 1 tùy chọn là include jre vào trong exe đấy.

  18. Nguyen Van Sang said

    Em đã làm thử rồi thấy ơi, nhưng không thấy include jre theo, chỉ thấy có chổ để mình cấu hình jre thôi: chọn phiên bản nhỏ nhất và lớn nhất để chạy ứng dụng thôi, cho phép nhưng phiên bản beta của jre,…. Không có chổ nào include jre hết. Mong thầy giúp đỡ

  19. Jimmy said

    Thầy ơi: sau khi đóng gói ứng dụng thành excutable jar file,rồi chuyển thành file exe,làm sao để mình gởi ứng dụng đó đến người dùng.Mình attach và gửi excutable jar file hay file exe,người dùng cần cài đặt JDK,JRE hay exe4j…?

  20. Võ Văn Hải said

    tất nhiên là exe rồi. với dạng có đính kèm JRE thì người dùng không phải cài JRE. Trong trường hợp tổng quát thì người dùng phải cài đặt JRE đấy.

  21. phạm văn duy said

    xin phép thầy cho em hỏi :
    – em đã đóng gói thành công file jar thanh file exe nhưng mà khi chạy file exe nó báo lỗi không thể truy cập vào csdl đc
    - em muốn chuyển file exe này sang 1 máy khác thì phải làm như thế nào .. mong thầy giải đáp sớm cho em,
    em xin chân thành cảm ơn . .!

  22. Võ Văn Hải said

    Em dùng cơ sở dữ liệu gì? Nếu là SQL Server hay MySQL thì không có vấn đề gì. Nhưng nếu là Access chẳng hạn thị thì khi chạy em phải copy file access vào cùng thư mục (còn tùy vào lúc em kết nối như thế nào).

  23. phạm văn duy said

    vâng em cảm ơn thầy , em đã kết nối được với csdl trên máy của em lỗi ở đây là do em kết nối nhầm ạ :(
    thưa thầy có cách nào để cái ứng dụng exe này chạy trên máy khác mà dùng csdl đặt trên máy em ( coi như 1 máy chủ) đc không ạ ?
    em xin cảm ơn

  24. Tran Chinh said

    chào các ban mình đã thử kết nối csdl mysql với java giốgn như thầy Hải chỉ nhưng nó ra 1 đóng lỗi làm ơn help me!

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at session_06_jdbc.MySQLConnectDemo.main(MySQLConnectDemo.java:9)

  25. Võ Văn Hải said

    Cái này là thiếu driver rồi. Bạn download cái driver về rồi add vô project là ok.

  26. hiennv said

    - Em làm theo hướng dẫn mà vẫn không được, toàn báo lỗi kết nối csdl ( vẫn chạy trên máy mà file.jar chạy được). Thầy xem giúp em có lỗi gì không nhé.
    - prọect này viết trên netbeans 6.8 – csdl msSsql 2k5.
    - thầy xem cần thay đổi các file, đường dẫn nào không.

    - project viết bằng java trên net beans 6.8, csdl mssql 2k5. chạy ok.
    - khi đóng gói thành jar chạy được khi file.jar để cùng folder với những folder cần thiết khác và file confixconnection….toàn bộ các folder và file xem trên hình kèm theo thì vẫn chạy ok, kết nối csdl được – csdl được cài trên máy với mssql2k5.
    - bây giờ em muốn đóng gói thành file chạy được với đuôi exe, đã dùng thử với Exe4j nhưng không thành công. toàn báo lỗi kết nối với csdl và các lỗi liên quan đến việc kết nối trong file SQLConnection như , lỗi tạo kết nối, tạo statement hay resultset…, kết nối đến thư viện ảnh, icon khác trong project.
    - vậy cho em được hỏi: những lỗi trên là do em sai ở đâu, cách khắc phục nó như thế nào, khi đóng gói cần kèm theo những folder nào, file nào và vị trí để ở đâu…có hướng dẫn chi tiết được và nhất là bằng hình ảnh thì tốt nhất.
    - trong hình folder Gallery: chứa các bức ảnh về mục một số ảnh trong fitness…
    - Images: chứa các icon, ảnh về tin tức, avartar…
    - Payment: chứa đơn hàng
    - Result : chứa báo cáo
    - lib : chứa AbsoluteLayout, sqljdbc4, file sql, configconnection

    - em cảm ơn thầy
    - link prọect: http://www.mediafire.com/?xdbwfffi8dgi1ou

  27. dinhquang said

    Vui lòng giúp sữa lỗi khi chạy file exe đã chuyển từ jar->exe thành công,
    nhưng khi chạy chương trình (file exe) thì xẩy ra lỗi không kết nối đ7ược với database (mssql 2005).
    file jar chạy bình thường không có lỗi gì hết.
    Rất mong anh Võ Văn Hải giúp dùm.

  28. Võ Văn Hải said

    Bạn xem các thư viện bạn dùng có trong classpath chưa? Bạn có thể copy nó vào thư mục lib của jre.

  29. Tran Trong Dat said

    em built trong windows64bit, chay tren no thi khong sao, nhung bo che do excute..64bit di thi ban than no cung khong chay duoc,
    mang sang window32bit cung bao loi khong tim thay thu vien, ma ro rang la em co copy vao jre roi

  30. Tran Trong Dat said

    java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
    java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
    nhu nay co nghia la gi ah?

  31. Điền said

    “Bạn xem các thư viện bạn dùng có trong classpath chưa? Bạn có thể copy nó vào thư mục lib của jre.”
    Chào Thầy! Thầy có thể nói rõ hơn ko ạ! Em cũng gặp tình trạng như vậy?

  32. hungnam said

    thầy ơi có e hỏi e đóng gói thành ễ oy nhưng copy qua máy khác lại ko chạy

  33. hungnam said

    thầy ơi cho e hỏi e đóng gói thành file exe roi nhưng bỏ wa máy khác thì hong chay dk

  34. hung nam said

    thay oi sao e dog goi exe dk roi trong may e thi chay dk khi copy wa may khac sao chay ko dk vay thay

  35. hocjava said

    Em cài được trên máy mình nhưng bây giờ coppy qua máy khác thì nó chạy giao diện nhưng kết nối được csdl, em dùng csdl postgresql, mong thầy giúp đỡ.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.

Join 2,205 other followers

%d bloggers like this: