Tôi có một chương trình web nơi tôi muốn người dùng có thể nhập tệp .war
và tôi có thể trích xuất một số tệp nhất định ra khỏi tệp .war
. Tôi đã tìm thấy hai thư viện lớp học: java.util.zip.*
và java.util.jar.*
. Từ những gì tôi hiểu, một tệp tin WAR là một tệp JAR đặc biệt, đó là một tệp ZIP đặc biệt. Vì vậy, nó sẽ là tốt hơn để sử dụng java.util.jar
? Nếu các tệp ZIP và JAR khá giống nhau thì tại sao cần có hai thư viện khác nhau?Cách trích xuất các tệp .war trong java? ZIP vs JAR
Trả lời
Nếu bạn nhìn vào API JarFile, bạn sẽ thấy rằng đó là lớp con của lớp ZipFile.
Các lớp cụ thể theo nhóm chủ yếu chỉ thêm chức năng của hàm jar, như hỗ trợ trực tiếp cho thuộc tính tệp kê khai, v.v.
Đó là OOP "đang hoạt động"; vì các tệp jar là các tệp zip, các lớp jar có thể sử dụng chức năng zip và cung cấp tiện ích bổ sung.
Các phiếu giảm giá về các câu trả lời chính xác và được chấp nhận được đánh giá cao. –
Như bạn đã nói, một bình là một tệp zip (không phải là loại đặc biệt, nhưng chỉ là một zip cũ), do đó thư viện có thể được thực hiện để hoạt động. Lý do là người trung bình, nhìn thấy phần mở rộng * .zip, có xu hướng giải nén nó. Kể từ khi máy chủ ứng dụng muốn nó giải nén, một đổi tên đơn giản giúp mọi người giải nén nó chỉ đơn giản là do thói quen. Tương tự, tệp * .war cũng sẽ không được nén.
java.util.jar về cơ bản chỉ thêm chức năng bổ sung vào java.util.zip với rất ít phí bổ sung. Hãy để java.util.jar trở thành người trợ giúp trong việc đăng bài, v.v ... và sử dụng nó.
Lớp/gói Jar là dành cho các cơ chế tệp Jar cụ thể nơi có tệp kê khai được tệp Jar sử dụng trong một số trường hợp.
Lớp/gói tệp Zip xử lý mọi tệp nén bao gồm tệp Jar, là một loại tệp nén.
Các lớp Jar do đó mở rộng các lớp gói Zip.
tập tin WAR chỉ là một tập tin JAR, để giải nén nó, chỉ cần vấn đề jar sau lệnh -
jar -xvf yourWARfileName.war
Nếu lệnh jar không được tìm thấy, mà đôi khi xảy ra trong cửa sổ lệnh của Windows, sau đó xác định đường dẫn đầy đủ tức là trong trường hợp của tôi nó là,
c:\java\jdk-1.7.0\bin\jar -xvf my-file.war
Tôi sử dụng lệnh này và extrated .war tập tin .. nhưng tất cả những đi vào thư mục bin .. u có thể dán lệnh để chọn giải nén vị trí –
http://stackoverflow.com/questions/15830952/extracting-jar-to-specified -directory –
Trong Java, hỏi OP. –
Chỉ cần đổi tên .war
vào .jar
và giải nén nó bằng cách sử Winrar
(hoặc bất kỳ quản lý lưu trữ khác).
Nếu bạn sử dụng Linux hoặc Ubuntu, bạn có thể trích xuất trực tiếp dữ liệu từ tệp .war
.
Một tập tin war
chỉ là một tập tin jar
, để giải nén nó, chỉ cần thực hiện lệnh sau đây sử dụng chương trình jar
:
jar -xvf yourWARfileName.war
- 1. Eclipse xuất JAR trong WAR
- 2. Cách trích xuất các lớp từ tệp .jar?
- 3. API Windows để trích xuất tệp zip?
- 4. Làm cách nào để trích xuất tệp tar trong Java?
- 5. Cách tạo tệp .jar hoặc xuất jar trên IntelliJ (như xuất nhật java lưu trữ eclipse)
- 6. favicon.ico trong tệp tin WAR của Java
- 7. Cách thêm các lớp Java mới vào các lớp hiện có trong tệp jar
- 8. Trong Linux, cách thực thi tệp jar Java với các tệp jar bên ngoài?
- 9. Trích xuất tọa độ từ tệp KML trong Java
- 10. .war vs .ear file
- 11. Sử dụng MANIFEST.MF trong WAR/JAR/EAR là gì?
- 12. Java/zip: Tại sao các tệp .jar được tạo không xác định?
- 13. Nhấp đúp vào vs java -jar MyJar.jar
- 14. Trích xuất nội dung tệp zip vào thư mục cụ thể trong Python 2.7
- 15. trích xuất các từ từ một tệp
- 16. Làm thế nào tôi có thể trích xuất java exe để jar
- 17. Java Applet trong Tệp JAR
- 18. Trích xuất tệp nén sang bộ nhớ?
- 19. Làm cách nào để xuất các lỗi java -jar thành một tệp văn bản/nhật ký?
- 20. Đọc tệp zip bên trong tệp zip
- 21. Trích xuất jar vào thư mục được chỉ định
- 22. Gradle - tên tệp jar trong plugin java
- 23. Tệp Java Dòng lệnh Jar
- 24. Trích xuất các chuỗi từ các lớp Java
- 25. Cập nhật các tệp bên trong tệp WAR hiện có
- 26. Tôi nên trích xuất các thư mục nén trong java như thế nào?
- 27. Các JAR thông thường có phải được lặp lại qua các WAR trong một EAR không?
- 28. Sự khác biệt giữa việc trích xuất và đóng gói thư viện thành tệp jar
- 29. Tại sao một maven-war-plugin tạo ra một JAR thay vì một WAR?
- 30. Java regex để trích xuất văn bản giữa các thẻ
Những gì bạn sẽ làm gì với các tập tin bên trong các tập tin chiến tranh? –