我正在使用IntelliJ Idea.我已经构建了我的应用程序并将其创建为.jar文件.该程序使用外部.jar文件作为其数据库驱动程序.
当我从IDE运行程序时,它工作正常.当我尝试.jar在IDE外部运行我的文件时,它会报告以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/SQLServerException
at ca.vdts.dbupdate.Main.main(Main.java:10)
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerException
at java.net.URLClassLoader$1.run(Unknown Source)
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)
Run Code Online (Sandbox Code Playgroud)
该sqljdbc42.jar文件的目录位于清单中.我在Windows上,我想点击".jar"文件来运行它.应用程序.jar文件和sqljdbc42.jar文件都在同一目录中.在命令行上,执行...
C:\Users\admin\IdeaProjects\DBUpdate\out\artifacts\DBUpdate>java -classpath .\sqljdbc42.jar;DBUpdate.jar -jar DBUpdate.jar
Run Code Online (Sandbox Code Playgroud)
...导致相同的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/SQLServerException
at ca.vdts.dbupdate.Main.main(Main.java:10)
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerException
at java.net.URLClassLoader$1.run(Unknown Source)
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) …Run Code Online (Sandbox Code Playgroud)