Tôi đã làm việc trên một dự án yêu cầu tải thư viện gốc và cho đến nay, mọi sự phát triển đã bị hạn chế đối với Linux. Để run
dự án của tôi, tôi chỉ đơn giản có thể cho phép forking và sửa đổi java.library.path
như sau:SBT: Phương pháp đa nền tảng để đặt java.library.path?
javaOptions in run += "-Djava.library.path=some/common/path:lib/native/linux"
Câu hỏi của tôi là: Làm thế nào tôi có thể làm như vậy một cách nền tảng, vì vậy mà tôi có thể chia sẻ build của tôi. sbt với nhà phát triển dựa trên Windows. Có nói riêng ba điều mà tôi không thể tìm ra cho đến nay:
- Tôi biết rằng SBT cho phép để xây dựng đường nền tảng độc lập như
"dir1"/"dir2"
, nhưng tôi không nhận thức được một cách nền tảng để tham gia nhiều đường dẫn (vì nó là:
trên Linux và;
trên Windows). - Có thể nối thêm
lib/native/linux
hoặclib/native/windows
phụ thuộc vào nền tảng này không? - Cách tiếp cận của tôi ở trên ghi đè
java.library.path
- bạn có thể nối thêm thay thế không?
Điều này có vẻ tốt. Tôi quên đề cập đến rằng tôi vẫn đang sử dụng SBT 0,12 và, nói chung, tôi đã hy vọng cho một giải pháp thuyết bất khả tri. Nhưng tôi nghĩ ý tưởng này cũng hoạt động ở mức 0,12. Tôi vẫn còn có một thời gian khó khăn để sử dụng cú pháp '/' của SBT mặc dù, vì không có chuyển đổi ẩn từ String thành (tôi đoán) File. Nhưng rõ ràng là luôn luôn có công việc xung quanh làm việc đó bằng tay với 'separatorChar'. Và cho mục đích gỡ lỗi: Bất kỳ ý tưởng nào tại sao 'hiển thị các tùy chọn java' luôn trả về' List() '? – bluenote10
Có, điều này sẽ hoạt động tốt trong 0,12. Ngoại trừ, IIRC, nó sử dụng Scala 2.9 để xây dựng cấu hình, vì vậy nội suy chuỗi nên được thay thế bằng '+'. Đối với câu hỏi cuối cùng, tôi không biết. Có thể hỏi nó một cách riêng biệt? –
Điều gì về 'System.getProperty (" java.library.path ")' và tự mình kết nối? –