Я работаю с программой Java, которая выполняет несколько запросов к базе данных Oracle. В настоящее время я использую для этого тонкий клиент jdbc (ojdbc7.jar). Для IDE я использую NetBeans, а также отлаживаю или запускаю JAR на своем ПК. Я не сталкивался с ошибками. Запуск этого JAR на среде Linux для производства однако, сообщается следующее сообщение об ошибке:Ошибка развертывания JDBC - NoClassDefFound
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/jdbc/OracleDriver
[...]
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
Код, я использую, чтобы получить соединение является:
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
Connection conn = null;
Properties connectionProps = new Properties();
connectionProps.put("user", DBUsername);
connectionProps.put("password", DBPassword);
conn = DriverManager.getConnection(JDBCConnection, DBUsername, DBPassword);
С DBUsername/пароль и JDBCConnection все локально хранится. Добавление дополнительных операторов вывода показывает недостаток заключается в следующем:
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
В настоящее время я уже ojdbc7.jar включен в библиотеках в моем проекте. Проверяется проверка свойств проекта в разделе «Сборка»> «Упаковка», «Библиотеки, зависящие от копирования». Мое ожидание в этот момент - библиотека должна быть включена в мой файл jar.
Я также протестировали:
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Кроме того, я попытался использовать только Class.forName(), и с использованием обоих.
Class.forName("oracle.jdbc.driver.OracleDriver");
Чтение других вопросов, я понимаю, это может быть проблемой для моего класса. В среде Linux я пытаюсь запустить это, я поставил в путь к классам точного расположения ocjdb7.jar без везения:
export CLASSPATH=/<Directory Location>/ocjdb7.jar
Я попытался несколько конфигураций это, например, среды Linux в вопросе уже был classpath, включая ocjdb6.jar, поэтому я перекомпилировал с этой версией, установил путь к классам и протестировал. Сообщено такое же сообщение об ошибке. Я пропустил необходимую настройку, чтобы включить этот драйвер? Тестирование на рабочем столе Windows 7, произошла одна и та же ошибка, которая, похоже, указывает на то, что это все еще проблема с настройкой.
Спасибо ujulu, была ли ссылка в вашем комментарии? – CCrew
Извините, я думал, что связан с документом. [Здесь] (https://netbeans.org/kb/articles/javase-deploy.html) - это документ, на который я хотел ссылаться. – ujulu
Цените это!Я прочитаю. – CCrew