2016-12-31 5 views
0

Сейчас я работаю с Microsoft SQLServer связи JDBC, когда я пытаюсь определить Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver класс не найден исключение (NEW)

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 

происходит ошибка, все остальное отлично, но я не знаю об этой ошибке.

pom.xml:

<dependency> 
    <groupId>com.microsoft.sqlserver</groupId> 
    <artifactId>sqljdbc4</artifactId> 
    <version>4-2.0</version> 
    <scope>system</scope> 
    <systemPath>D:\my current work(please backup this folder)\backup\12-15-2016\milma_jishnu/src/main/lib/sqljdbc4-2.0.jar</systemPath> 
</dependency> 
+0

Вы проверили внутри .m2 папку, если присутствует банку или нет? – SpringLearner

+0

да, он существует там – pjishnu

ответ

1

Цитирование Maven documentation:

системы Зависимости

Important note: This is marked deprecated.

зависимости с системой областей видимости всегда доступны и не ищется в хранилище , Обычно они используются для указания Maven о зависимостях, предоставляемых JDK или VM. Таким образом, системные зависимости особенно полезны для разрешения зависимостей от артефактов, которые теперь предоставляются JDK, но где они доступны в виде отдельных загрузок ранее. Типичным примером являются стандартные расширения JDBC или служба аутентификации и авторизации Java (JAAS).

Итак, <scope>system</scope> сообщает Maven: Это уже присутствует, вам ничего не нужно делать.

Ergo, это не добавлено в classpath, и вам интересно, почему его там нет?

Кажется, вы неправильно поняли цель <scope>system</scope>. Не используйте его, потому что драйвер JDBC MS SQL не является частью JDK.

+0

так как решить pom? – pjishnu

+0

Используйте области 'compile' или' runtime'. – Andreas

Смежные вопросы