1. Làm cách nào để tìm kho lưu trữ (nếu có) có chứa thành phần này?
Như DavidS đã nhận xét dòng tôi trích dẫn tại thời điểm tôi trả lời không còn hiện tại (hiện tại tôi đang viết) Thỏa thuận Thỏa thuận Cấp phép OTN mà tôi đã liên kết. Chỉ xem xét câu trả lời này cho phiên bản cũ hơn của tạo phẩm, như 10.2.0.3.0 và tương tự.
Tất cả các Trình điều khiển JDBC của Cơ sở dữ liệu Oracle được phân phối theo Thỏa thuận Cấp phép OTN .
Nếu bạn đọc Thỏa thuận cấp phép OTN, bạn sẽ thấy điều khoản cấp phép này:
Bạn không được:
...
- phân phối các chương trình trừ khi đi kèm với các ứng dụng của bạn;
...
vì vậy, đó là lý do tại sao bạn không thể tìm thấy bình của trình điều khiển trong bất kỳ Kho lưu trữ Maven công khai nào, bởi vì nó sẽ được phân phối một mình và nếu điều đó xảy ra thì đó sẽ là vi phạm giấy phép.
Thêm phụ thuộc:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
</dependency>
(hoặc bất kỳ phiên bản nào mới hơn) làm cho Maven tải xuống ojdbc14-10.2.0.3.0.pom
duy nhất và trong pom đó bạn có thể đọc:
...
<licenses>
<license>
<name>Oracle Technology Network Development and Distribution License Terms</name>
<url>http://www.oracle.com/technology/software/htdocs/distlic.html</url>
</license>
</licenses>
...
thông báo cho bạn về Giấy phép OTN.
2. Làm thế nào để tôi thêm nó để Maven sẽ sử dụng nó?
Để làm cho các phụ thuộc ở trên hoạt động, tôi đồng ý với người chiến thắng hugo , người đã đề nghị bạn ở đây tự cài đặt jar vào kho lưu trữ Maven cục bộ ( .m2
thư mục) bằng cách chạy:
mvn install:install-file -Dfile={Path_to_your_ojdbc.jar} -DgroupId=com.oracle
-DartifactId=ojdbc -Dversion=10.2.0.3.0 -Dpackaging=jar
nhưng tôi muốn thêm rằng thời hạn cấp phép ở trên không chỉ giới hạn ở nơi bạn không thể tìm thấy bình JDBC, nhưng nó cũng giới hạn ở nơi bạn cũng cài đặt nó!
Trên thực tế, kho lưu trữ Maven cục bộ của bạn phải ở chế độ riêng tư và không được chia sẻ vì nếu được chia sẻ, đó sẽ là một loại phân phối trong đó jar được phân phối một mình, ngay cả khi một nhóm người nhỏ vào mạng cục bộ của bạn và điều này thể hiện một Thỏa thuận cấp phép OTN vi phạm .
Ngoài ra, tôi nghĩ rằng bạn nên tránh cài đặt jar JDBC trong trình quản lý kho lưu trữ của công ty (như Artifactory hoặc Nexus ) dưới dạng một tạo phẩm duy nhất bởi vì nếu nó được cài đặt, nó sẽ vẫn được phân phối một mình, ngay cả khi chỉ cho những người trong tổ chức của bạn và điều này thể hiện một vi phạm thỏa thuận cấp phép OTN .