2015-09-29 17 views
5

Tôi có một dự án Java chưa được biên dịch. Điểm vào là phương pháp chính trong maui.main.MauiModelBuilder được truyền một số thông số bằng dòng lệnh.Ý nghĩa của "*:" trong đặc tả classpath java

Tác giả của mã cung cấp gợi ý này để biên dịch nó:

java -cp "lib/*:src" maui.main.MauiModelBuilder -l data/automatic_tagging/train/ -m test -v none 

ý nghĩa của "lib/*:src" trong trường hợp này là gì? Tôi chưa bao giờ thấy một cú pháp như vậy.

Trả lời

7

Thực ra, bạn đang phân tích cú pháp cú pháp này không chính xác trong đầu. Bạn nên đọc nó là "lib/*""src". Cú pháp này có nghĩa là chúng tôi có thêm:

  • tất cả các file dưới lib thư mục
  • file src

vào classpath của java.

: được sử dụng làm dấu phân cách cho mục nhập classpath.

1

'*' là ký tự đại diện khớp với bất kỳ thứ gì.

Trong trường hợp này 'lib/*' thêm tất cả tệp trong thư mục 'lib' và ':' là một seperator do đó 'src' cũng được bao gồm.

Vì vậy, 'lib/*: src' của bạn thêm tất cả tệp trong thư mục 'lib' và 'src' trong thư mục hiện tại.

+1

Điều này thực sự không trả lời câu hỏi ... –

+0

Còn phần ': src' thì sao? – Pshemo

+0

@Pshemo, trả lời đã chỉnh sửa. Xin lỗi vì trễ. – ashiquzzaman33

0

"lib/*:src" có nghĩa là bao gồm tất cả các tệp trong thư mục lib và src. ":" được sử dụng làm dấu phân tách,

Các vấn đề liên quan