Tôi có 3 tệp jar và tệp .java phụ thuộc vào các tệp jar này. Làm cách nào để biên dịch tệp .java với các tệp jar này bằng cách sử dụng dấu nhắc lệnh?Cách gộp tệp jar bằng tệp java và biên dịch trong dấu nhắc lệnh
Trả lời
Cố gắng thêm tất cả các file jar phụ thuộc vào đường dẫn lớp của bạn thông qua các thiết lập biến môi trường hoặc sử dụng các bước dưới đây:
- mở dấu nhắc lệnh.
- Thay đổi thư mục đến vị trí của bạn java tệp mà bạn muốn biên dịch.
Set classpath cho các tập tin jar phụ thuộc của bạn như hình dưới đây:
set classpath=C:\Users\sarath_sivan\Desktop\jars\servlet-api.jar; C:\Users\sarath_sivan\Desktop\jars\spring-jdbc-3.0.2.RELEASE; C:\Users\sarath_sivan\Desktop\jars\spring-aop-3.0.2.RELEASE;
Bây giờ, bạn có thể biên dịch file java của bạn. (lệnh:
javac YourJavaFile.java
)
Hy vọng điều này sẽ giải quyết vấn đề phụ thuộc của bạn.
Bạn có thể bao gồm tệp jar của mình trong lệnh "javac" bằng tùy chọn "-cp".
javac -cp ".:/home/path/mail.jar:/home/path/servlet.jar;" MyJavaFile.java
Thay vì "-cp", bạn cũng có thể sử dụng "classpath"
javac -classpath ".:/home/path/mail.jar:/home/path/servlet.jar:" MyJavaFile.java
Bạn có thể bao gồm các lọ mỗi khi bạn biên dịch bằng cách thiết lập các biến môi trường "classpath" một cách chính xác. Biến môi trường sẽ lưu trữ đường dẫn nơi các lọ và các lớp cần được sử dụng để biên dịch/thực thi bất kỳ tệp java nào. Bạn sẽ không phải bao gồm các lọ riêng lẻ mỗi khi bạn biên dịch tập tin.
Máy khác nhau có các phương pháp khác nhau để đặt classpath làm biến môi trường. Các lệnh cho Windows, Linux, v.v. khác nhau.
Bạn có thể tìm thêm chi tiết tại this blog.
http://javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html
'javac -classpath".:/Home/path/mail.jar; /home/path/servlet.jar "MyJavaFile.java' đã hoạt động đối với tôi. Tôi đã sử dụng mac. Tôi đọc ở đâu đó rằng ':' được sử dụng cho unix. – Sri
Tôi đã sử dụng lệnh này nhưng khi cố truy cập lớp hiện tại trong tệp jar, tôi nhận được ClassNotFoundException. –
Cú pháp sẽ làm việc trên cửa sổ dos lệnh:
javac -cp ".;first.jar;second.jar;third.jar" MyJavaFile.java
Sau khi thực hiện thành công lệnh trên làm thế nào để chạy tệp lớp java? –
Vui lòng thử trên Linux
javac -cp jarfile source file
VÍ DỤ: -
javac -cp .:/jars/* com/template/*.java
Khi tôi thử ** VÍ DỤ: - **, với '.:/Jars' được thay thế bằng thư mục chứa các tệp JAR của tôi, tôi nhận được thông báo lỗi 'javac: flag không hợp lệ:/location/of/first/jar/file.jar'. –
http://stackoverflow.com/questions/27915204/javac-invalid-flag-activation-1-1-jar xin vui lòng refere này, nó có thể giải quyết vấn đề của bạn – Jamsheer
này sẽ tạo ra tập tin .class:
javac -classpath "[jarname with specified path]" [java filename]
này sẽ thực thi tập tin lớp:
java -cp [jarname with specified path]: [java filename]
java lệnh là hiển thị lỗi Gây ra bởi: ** java.lang. ClassNotFoundException: org.slf4j.LoggerFactory ** Tôi muốn ** biên dịch ** 'javac -classpath" /home/scorncer/Downloads/spark-core-2.3.jar "MyFile.java' và ** chạy ** 'java -cp /home/scorncer/Downloads/spark-core-2.3.jar: MyFile.java cũng tôi đã thử java -cp /home/scorncer/Downloads/spark-core-2.3.jar: MyFile' –
Hãy thử này.
javac -cp .:jars/jar1:jars/jar2:jars/jar3 com/source/*.java
Nếu bạn đang sử dụng Ubuntu:
/opt/JavaServices/sqlite $ export CLASSPATH=/opt/JarFiles/XXXX.jar:/opt/JarFiles/XXXX.jar:/opt/JavaServices/;javac SQLiteSample.java
Đến thư mục vị trí (Out of cấu trúc gói)
/opt/JavaServices $ export CLASSPATH=/opt/JarFiles/XXXXX.jar:/opt/JarFiles/XXXXX.jar:/opt/JavaServices/;java sqlite.SQLiteSample
Lưu ý: Xin vui lòng xem các tập tin địa điểm và tên gói
- 1. (JAVA) Sử dụng Dấu nhắc Lệnh để tạo tệp .jar từ nhiều tệp .class
- 2. Cách gộp ảnh trong tệp jar
- 3. Biên dịch một tệp Java ... bằng một chương trình Java
- 4. Tệp Java Dòng lệnh Jar
- 5. Sao chép dấu nhắc lệnh bằng các tệp hàng loạt
- 6. Cách gộp tệp jar khi tạo gói R?
- 7. gcc và g + + nhắc lệnh biên soạn và liên kết
- 8. Lỗi tham chiếu khi biên dịch tệp C trong lời nhắc lệnh VS2010
- 9. cách tạo tệp tai và bao gồm tệp chiến tranh và tệp jar bên trong đó
- 10. Cài đặt dịch vụ Windows bằng dấu nhắc lệnh Windows?
- 11. Làm cách nào để biên dịch tệp java có phụ thuộc jar?
- 12. không thể biên dịch hello.cs cho gtk # bằng dấu nhắc lệnh mono
- 13. Gradle - tên tệp jar trong plugin java
- 14. Chạy tệp .bat trên dấu nhắc lệnh cmd VS
- 15. Java Applet trong Tệp JAR
- 16. Java - Cách biên dịch một tệp với Java Eclipse
- 17. Cách khôi phục tệp SQL được tạo bởi MySQLDump bằng dấu nhắc lệnh
- 18. lệnh để biên dịch các tệp c có tệp .a
- 19. Cách khởi động lại dịch vụ bằng lệnh nhắc?
- 20. Biên dịch bốn tệp java trong một gói bằng cách sử dụng javac
- 21. Biên dịch các tệp .java bên ngoài từ trong Java
- 22. Cách ký tự đại diện bao gồm các tệp JAR khi biên dịch?
- 23. Cách biên dịch dự án java với tệp jar bên ngoài trong thiết bị đầu cuối Linux
- 24. Có thể tạo tệp CSV với nhiều tab trong dấu nhắc lệnh không?
- 25. Chạy tệp jar với đối số dòng lệnh
- 26. Cách tạo tệp .jar bằng thiết bị đầu cuối
- 27. nhập tệp jar bên ngoài
- 28. Nhận Đầu ra Dấu nhắc Lệnh tới Chuỗi Trong Java
- 29. Trong Linux, cách thực thi tệp jar Java với các tệp jar bên ngoài?
- 30. Bao gồm các tệp không phải tệp Java và tệp tài nguyên để thử nghiệm jar bằng cách sử dụng plugin maven jar
nhập "javac -help" –
http://docs.oracle.com/javase/6/docs/technotes/tools/index.html#basic –
hy vọng [this] (http://stackoverflow.com/questions/1064481/newbie-question-how-to-include-jar-files-when-compiling) giúp bạn .. –