Класс не найден во время выполнения в Eclipse, хотя Maven Dependency уже включен - PullRequest
0 голосов
/ 10 мая 2018

Я использую maven для загрузки зависимости ojdbc.jar. Баночка уже появилась в Maven Dependencies в Eclipse , которую, я думаю, она готова к использованию. Но когда я пытаюсь импортировать OracleDriver , Eclipse не может помочь мне импортировать класс и показать ошибку в строке.

Я пытался Class.forName("oracle.driver.OracleDriver") найти класс. Это также показывает исключение ClassNotFound .

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.techoffice.example</groupId>
    <artifactId>OracleJdbcExample</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <repositories>
        <repository>
            <id>codelds</id>
            <url>https://code.lds.org/nexus/content/groups/main-repo</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>
    </dependencies>
</project>

Пример кода

public static void main(String[] args){
  Class.forName("oracle.jdbc.OracleDriver");
}

Исключение

Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:171)
    at com.techoffice.oracle.OracleJdbcAppl.main(OracleJdbcAppl.java:18)

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

Загрузите файл "ojdbc6.jar" на свой компьютер. cd в папку, в которую он был загружен. Затем используйте эту команду для установки библиотеки в локальный репозиторий maven (обычно это каталог ~/.m2):

mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true

После этого Eclipse сможет беспрепятственно находить зависимость.

0 голосов
/ 10 мая 2018

Из-за лицензионных ограничений Oracle драйвер JDBC Oracle недоступен в общедоступном репозитории Maven. Чтобы использовать драйвер Oracle JDBC с Maven, вы должны загрузить и установить его вручную в локальный репозиторий Maven.

Используйте следующую команду для установки:

mvn install:install-file -Dfile={{Full path to your jar}}
           -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

Или вы можете использовать Репозиторий Oracle Maven :

Для репозитория Oracle Maven требуется действительная регистрация пользователя и Пользователь также должен принять условия, войдя в систему в http://maven.oracle.com. Это имя пользователя будет использоваться в settings.xml.

Создайте файл settings-security.xml, который содержит информацию о главном пароле в локальном репозитории maven (пример: {USER_HOME}/.m2/), который обычно находится в домашнем каталоге пользователя. Например: если имя пользователя тестовое, тогда путь будет

Unix: /home/test/.m2/settings.xml

Windows: C:\Users\test\.m2\settings.xml

Файл settings.xml необходим для загрузки драйверов Oracle JDBC и UCP. Зашифруйте пароль пользователя перед его использованием в settings.xml. Используйте следующие команды для шифрования пароля пользователя и обновления settings.xml:

mvn -encrypt-password <any_master_password> или mvn -ep <any_master_password>

Источник информации

0 голосов
/ 10 мая 2018
Include the ojdbc6.jar file in the Deployment Assembly of the Project

Right Click on project -> Properties -> Deployment Assembly -> Add your ojdbc6.jar file in it

Method2: Щелкните правой кнопкой мыши на Project -> Build Path -> Configure Build Path -> Add External JAR -> добавьте ojdbc6.jar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...