2013-04-05 32 views
47

Tôi muốn trích xuất một trong các lọ của mình vào thư mục được chỉ định bằng cách sử dụng tiện ích dòng lệnh jar.Trích xuất jar vào thư mục được chỉ định

Nếu tôi hiểu -C tùy chọn quyền này nên để lừa nhưng khi tôi cố gắng

jar xvf myJar.jar -C ./directoryToExtractTo 

Tôi nhận được thông tin sử dụng từ tiện ích jar của tôi, vì vậy tôi đang làm gì đó sai.

là điều tôi muốn đạt được với jar hay tôi cần phải tự di chuyển jar của tôi và có gọi

jar xvf myJar.jar 
+3

Tôi nghĩ '-C' chỉ dành cho việc thêm tệp. –

+0

Có lẽ, tôi nghĩ rằng nó cũng cho specyfying thư mục đầu ra. – Andna

Trả lời

40

Nó tốt hơn để làm điều này.

Điều hướng đến cấu trúc thư mục bạn cần

Sử dụng lệnh

jar -xvf 'Path_to_ur_Jar_file' 
+6

Của couse tôi có thể làm điều này và tôi đồng ý với ra rằng tôi có thể làm điều này, tôi chỉ muốn biết nếu tôi misinterpreted -C tùy chọn, và có vẻ như đó là trường hợp. – Andna

+0

Có lẽ đó là cách duy nhất để xác định vị trí mục tiêu thông qua "jar xf". –

+0

nó cho tôi lỗi: "Tùy chọn không được công nhận -xvf – Rushi

40

lọ sử dụng nén zip để bạn có thể sử dụng bất kỳ tiện ích giải nén.

Ví dụ:

$ unzip myJar.jar -d ./directoryToExtractTo

+15

'unzip myJar.jar -d out-directory 'cho Xubuntu 12.04.1 –

+1

Tôi đã gặp vấn đề trong quá khứ bằng cách sử dụng zip để tạo một cái bình (nó KHÔNG tương đương với việc sử dụng lệnh jar) nhưng tôi không thể nói để giải nén. ủng hộ bằng cách sử dụng lệnh jar – Ring

+0

gunzip phàn nàn rằng các jar có nhiều hơn một mục – Almo

8

Không có tùy chọn này có sẵn trong lệnh jar riêng của mình. Xem xét the documentation:

-C dir Tạm thời thay đổi thư mục (cd dir) trong khi thực hiện lệnh jar trong khi xử lý đối số inputfiles sau. Hoạt động của nó được dự định tương tự như tùy chọn -C của tiện ích UNIX tar. Ví dụ: jar uf foo.jar -C lớp bar.class thay đổi vào thư mục lớp và thêm bar.class từ thư mục đó vào foo.jar. Lệnh sau, các lớp jar uf foo.jar -C. -C bin xyz.class thay đổi vào thư mục lớp và thêm vào foo.jar tất cả tệp trong thư mục lớp học (mà không cần tạo thư mục lớp học trong tệp jar), sau đó thay đổi lại thư mục gốc trước khi thay đổi thành thư mục bin để thêm xyz.class vào foo.jar. Nếu lớp giữ các tập tin bar1 và bar2, thì đây là những gì các tập tin jar chứa sử dụng jar tf foo.jar: META-INF/

META-INF/MANIFEST.MF

bar1

bar2

xyz.class

-1

Điều này phù hợp với tôi.

Tôi đã tạo thư mục rồi thay đổi vào thư mục bằng cách sử dụng tùy chọn CD từ dấu nhắc lệnh.

Sau đó, thực hiện bình từ đó.

d:\LS\afterchange>jar xvf ..\mywar.war 
Các vấn đề liên quan