Tôi dường như không thể yêu cầu Maven gói tệp ojdbc6.jar vào tệp chiến tranh của dự án của tôi. Tôi có nó hoạt động trong tệp POM khi chỉ định phụ thuộc trực tiếp cho các công cụ Hibernate. Nhưng nó sẽ không được đóng gói với tệp chiến tranh của dự án và do đó dự án của tôi sẽ không chạy trên Tomcat.
Tôi đã thử mọi giải pháp mà tôi có thể tìm thấy trên mạng, bao gồm cả những giải pháp được chỉ định cho câu hỏi này tại đây:
Tìm trình điều khiển Oracle JDBC trong kho lưu trữ Maven
Gần đây nhất, tôi đã làm như sau:
Tải tệp jar xuống máy của tôi
Chạy lệnh sau để cài đặt jar vào kho lưu trữ cục bộ của tôi:
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true
(Tôi cũng đã thử tất cả các loại biến thể của lệnh đó.)
Cuối cùng, tôi đặt phụ thuộc vào tệp pom của mình:
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency>
Tôi chạy một bản dựng sạch, nhưng nó không thành công:
mvn -U clean package [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building jazztwo 0.0.1 [INFO] ------------------------------------------------------------------------ Downloading: http://repo1.maven.org/maven2/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.700s [INFO] Finished at: Tue Mar 27 15:06:14 PDT 2012 [INFO] Final Memory: 3M/81M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project jazztwo: Could not resolve dependencies for project edu.berkeley:jazztwo:war:0.0.1: Could not find artifact com.oracle:ojdbc6:jar:11.2.0.3 in central (http://repo1.maven.org/maven2) -> [Help 1]
Tại sao điều này không hoạt động? Tôi sẵn sàng ném các bộ phận máy tính đắt tiền khắp phòng. Điều này đã lãng phí rất nhiều thời gian. (Cảm ơn bạn, Oracle. Chúng tôi đã trả lại cho bạn bao nhiêu?)
Có lẽ vì tôi đang sử dụng máy Mac?
mvn install:install-file
đã không hoạt động. Bạn nên cung cấp vị trí tuyệt đối của ojdbc6.jar
hoặc chạy lệnh từ thư mục chứa nó. Tên tệp không phải là một vấn đề. Bạn có thể chạy với một -X
cờ để bạn có thể gỡ lỗi thông tin.
install-file
? Maven sẽ cho bạn biết nó cài đặt tệp ở đâu hoặc có bất kỳ lỗi nào không.
ojdbc6-11.2.0.3.jar
có sẵn trong kho lưu trữ cục bộ của bạn tại đúng thư mục không?