2012-05-14 2 views
0

У меня есть приложение, в котором я использую JDBC-соединение. Когда я запускаю его из среды Eclipse, проблем нет. Но, когда я упаковать его в банку, линияjdbc exception after jar creation

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 

вызывает исключение:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 

Я положил строку в файл манифеста, но это не помогло:

Class-Path: sqljdbc4.jar 

Может ли кто-нибудь помочь?

+0

попробуйте добавить его отдельно к пути к классам – Satya

+0

Где находятся две банки, расположенные в файловой системе, и как запустить приложение? –

+0

Теперь я поместил файл sqljdbc.jar в папку приложения, и больше нет исключений. Однако после вызова 'DriverManager.getConnection (url, user, password);' приложение заморожено. Я запускаю его с помощью пакетного файла, который содержит: 'java -jar myapp.jar' – xMichal

ответ

0

Я, наконец, решил проблему. Я установил драйвер jdbc также на удаленный сервер, и я упаковал файлы в исполняемый банку (не только jar, как раньше).