2015-06-10 29 views
13

Tôi tự hỏi làm thế nào để ngoại bộ hóa tất cả các trình điều khiển jdbc cho các ứng dụng Spring Boot của mình, tôi không muốn chèn trình điều khiển jdbc vào jar chất béo của tôi sau khi ứng dụng được xây dựng.Thư mục thư viện bên ngoài cho Spring Boot

Có cách nào để đặt tham số vm java, thông báo thư mục bên ngoài nào nên được bao gồm với thực thi jar không? Hoặc có thể tồn tại một số loại tài sản mùa xuân cho nó.

Ví dụ: java -DLib = file: \\ c: \ Drivers -jar sample.jar

Cảm ơn

Trả lời

6

Xem tài liệu về PropertiesLauncher:

Hình như bạn có thể sử dụng loader.path tài sản để xác định một vị trí thư mục lib, chứa lọ để tải - trong thực tế, thư mục lib (inline với bình) là vị trí mặc định:

loader.path (nếu trống) mặc định là lib (có nghĩa là một thư mục cục bộ hoặc một lồng nhau nếu chạy từ kho lưu trữ)

+0

Tôi vẫn không thể làm cho nó hoạt động với loader.path, nó dường như bỏ qua bất cứ điều gì tôi đặt trong đó. Bạn có thể thêm một ví dụ không? Cảm ơn. –

+1

Đừng bận tâm, nó chỉ ra rằng bạn cần phải xây dựng jar của bạn với bố trí ZIP cho loader.path để làm việc. –

-1

không mà phải là những gì classpath là gì? Chừng nào các jars trình điều khiển jdbc nằm trên đường dẫn lớp, điều này sẽ hoạt động. Một cái gì đó như thế này:

java -classpath /path/to/driver/jar -jar application.jar 

Bạn cũng có thể đặt biến môi trường CLASSPATH cho cùng.

+3

Không có khởi động mùa xuân và định dạng tệp thi hành-jar, và bên cạnh đó bạn thường không thể kết hợp tùy chọn nhóm và đường dẫn lớp - http://stackoverflow.com/questions/15930782/call-java-jar-myfile-jar-với-bổ sung-classpath-option –

+0

java cmd bỏ qua tùy chọn "classpath" với tùy chọn jar. – xyzlast

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