2013-02-11 43 views
7

Tôi đã viết tệp .java, được gọi là Main.java và đã biên dịch nó bằng cách sử dụng javac trong Dấu nhắc Lệnh của Windows. Trình biên dịch tạo nhiều tệp .class (được gọi là Main.class, Main $ 1.class, & Main $ 2.class - có lẽ vì tôi có các lớp bên trong vô danh trong tệp Main.java). Tôi cố gắng tạo một tệp .jar có thể chạy được để tôi có thể bấm đúp vào lối tắt để chạy ứng dụng này (nó là ứng dụng Java Swing), nhưng tôi không thành công khi tôi điều hướng đến thư mục của ba tệp lớp và gõ:(JAVA) Sử dụng Dấu nhắc Lệnh để tạo tệp .jar từ nhiều tệp .class

jar cfv file.jar Main.class Main$1.class Main$2.class 

các Command Prompt sau đó kết quả đầu ra văn bản này:

added manifest 
adding: Main.class(in 4871) (out = 2848)(deflated 41%) 
adding: Main$1.class(in 1409) (out = 833)(deflated 40%) 
adding: Main$2.class(in 1239) (out = 767)(deflated 38%) 

Mặc dù vậy, khi tôi nhấp đúp chuột vào file file.jar trong Windows Explorer, bạn chỉ cần đặt, không có gì xảy ra. Không có ứng dụng xoay nào mở ra.

Hy vọng rằng ai đó có thể giúp tôi với điều này. Cảm ơn bạn

Tốt nhất ... SL

+0

Xem câu hỏi này đã trả lời câu hỏi của bạn. Đã có rất nhiều câu hỏi về điều này. http: // stackoverflow.com/questions/13081920/create-an-executable-jar-file –

Trả lời

12

Bạn cần sử dụng entry-point switch -e (với tên của lớp chứa phương pháp main()) như vậy:

jar cfve file.jar Main Main.class Main$1.class Main$2.class 
+0

Cảm ơn bạn iamnotmaynard, điều này làm việc. Tôi sẽ chấp nhận điều này như là phản ứng chính xác khi trang web này cho phép tôi ... – Skyler

+0

nếu chương trình java có nhiều tệp jar phụ thuộc hơn. làm thế nào để đại diện cho đường dẫn lib trong dấu nhắc lệnh. – BasK

5

Có điều gì đó phải nói với java lớp nào sẽ được bắt đầu tự động. Đó là Tệp kê khai - xem mô tả here Bạn phải đóng gói Manifest.mf trong bình của mình.

+0

Trong trường hợp của bạn: thêm 'Main-Class: Main' vào một tập tin Manifest.txt và' jar cfv file.jar Manifest.txt Main.class Main $ 1. class Main $ 2.class' –

0
  1. Mở Command Prompt
  2. cd đi đến con đường nơi tệp jar tồn tại
  3. lệnh chạy jar xf fileName.jar
  4. Nó sẽ tạo com, META-INF & Copyright.mk file
  5. Đến gói đặc biệt nơi u muốn thay đổi các tập tin lớp (file cơ bản lớp hiện tại trong thư mục com)
  6. Tải JAD.exe từ google (nó Zip File)
  7. Giải nén file Zip bạn sẽ nhận được jad.exe
  8. Đặt tập tin lớp (mà u muốn sửa đổi) trong thư mục, có chứa jad.exe
  9. đến command prompt, chạy jad fileName.clas s (lớp filename mà u muốn sửa đổi)
  10. fileName.jad tập tin sẽ được tạo ra, đổi tên nó như fileName.java
  11. biên dịch fileName.java (nếu nó đề cập đến một số tập tin lớp khác cấu hình nó trong nhật thực cho phù hợp)
  12. lần biên soạn thay thế các tập tin lớp trong thư mục quy định tại bước 4
  13. Đi tới dấu nhắc lệnh, đường dẫn 4 bước cd, chạy jar cf fileName.jar (* đại diện cho tất cả các tệp lớp không phân biệt thư mục)
Các vấn đề liên quan