2015-05-19 13 views
6

Tôi đã sử dụng ojdbc14.jar trước đó và bây giờ muốn nâng cấp nó lên ojdbc7.jar để hỗ trợ oracle12c.Cập nhật trình điều khiển cho ojdbc7.jar cung cấp lỗi cho oracle/security/pki/OraclePKIProvider

Nhưng khi kết nối máy chủ cho lỗi cho "oracle/security/PKI/OraclePKIProvider".

Nếu tôi thêm oraclepki.jar đến máy chủ classpath khởi động đúng mà không bất kỳ lỗi.

Tôi đang cố gắng tìm ra những gì đặc biệt được thêm vào trong ojdbc7.jar mà nó yêu cầu tôi thêm oraclepki.jar, Như với ojdbc14.jar nó không bao giờ yêu cầu tôi thêm oraclepki vào classpath của tôi.

Có ai biết những gì thay đổi với ojdbc7 gây ra lỗi này và những gì có thể được thực hiện để tránh thêm oraclepki trên classpath?

+0

Đây có phải là ngoại lệ ClassNotFoundException không? –

+0

Cảm ơn Clark, nó chỉ nói lỗi: oracle/security/pki/OraclePKIProvider, Nhưng tôi chắc chắn nghĩ rằng ClassNotFoundException của nó khi thêm Jar trên classpath giải quyết vấn đề. –

+0

Kiểm tra xem ojdbc14.jar là hư không trong classpath –

Trả lời

3

Kiểm tra classpath của bạn và chắc chắn rằng bạn loại bỏ những điều sau đây: (nếu nó tồn tại)

-XX:-UseSplitVerifier

+1

Làm việc cho tôi, nhưng tôi muốn biết kết nối b/w usesplitverifier là gì và ngoại lệ đó là gì? –

0

Đây là một issue ghi trong cơ sở dữ liệu Hỗ trợ Oracle. Nếu bạn có hỗ trợ Oracle, bạn có thể tìm hiểu thêm ở đó. Nếu không ...

Khi Joseph Carroll tuyên bố, xóa -XX:-UseSplitVerifier khỏi dòng lệnh Java đối số của bạn có thể giải quyết được sự cố của bạn. Đối số UseSplitVerifier về cơ bản yêu cầu Java sử dụng một trình xác minh mã byte trước đó, ít nghiêm ngặt hơn (đôi khi được sử dụng để lấy các công cụ thiết bị mã byte cũ hơn để làm việc khi nâng cấp từ Java 6 lên Java 7). Thật không may, nó gây ra một số vấn đề khi nâng cấp một số công cụ nhất định từ Java 7 lên Java 8. Những thứ khác bạn có thể thực hiện bao gồm (mỗi Oracle):

  1. Nâng cấp lên một công cụ tương thích.
  2. Hoặc, như một workaround, bao gồm oraclepki_121020.jar trong classpath. Đây là cách giải quyết hợp lệ trong trường hợp nâng cấp lên một công cụ thiết bị cụ thể mã hóa bytecode tương thích java 7 là không thể.

Điều này article nói về lý do tại sao -XX:-UseSplitVerifier được thêm vào để sử dụng Java 7 với Oracle. Điều này article nói về việc sử dụng cờ –noverify với Java 8 thay vì -XX:-UseSplitVerifier.

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