Java JAR无法加载com.microsoft.sqlserver.jdbc.sqlserverdriver

Java JAR无法加载com.microsoft.sqlserver.jdbc.sqlserverdriver,java,sql-server-2008,jdbc,classnotfoundexception,Java,Sql Server 2008,Jdbc,Classnotfoundexception,似乎有许多类似的问题与此相关,但没有一个能够为我提供任何帮助。我正在SQL Server上运行Microsoft的JDBC驱动程序(我正在使用sqljdbc4.jar),并使用集成身份验证来访问我的数据库。用于连接的代码段如下所示: String connectionUrl="jdbc:sqlserver://servername:1433;integratedSecurity=true;"; try { Class.forName("com.microsoft.sqlserver.j

似乎有许多类似的问题与此相关,但没有一个能够为我提供任何帮助。我正在SQL Server上运行Microsoft的JDBC驱动程序(我正在使用
sqljdbc4.jar
),并使用集成身份验证来访问我的数据库。用于连接的代码段如下所示:

String connectionUrl="jdbc:sqlserver://servername:1433;integratedSecurity=true;";

try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    con = DriverManager.getConnection(connectionUrl);
}//catch, etc...
当我在Eclipse中运行该项目时,它会顺利启动。但是,当我运行Mavenclean install并将其打包到.jar中时,会出现以下错误:

java.lang.ClassNotFoundException: Failure to load: com.microsoft.sqlserver.jdbc.SQLServerDriver
    at launch.JarClassLoader.loadClass(JarClassLoader.java:964)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at ui.SearchWindow$1.run(SearchWindow.java:97)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
我已经尝试了其他线程中发布的解决方案;我有一个指向
.jar
的系统
类路径
变量,它位于构建路径和运行时类路径中。也许问题就在眼前。我最好的猜测是它与Maven有关,但我应该如何着手解决这个问题呢


此外,如果我需要澄清任何要点,请让我知道;我非常乐意这样做。

在您的评论中,您确认您手动将其添加到构建路径,而不是maven POM。您确实需要添加一个依赖项,否则Maven在构建时不会知道它

并将依赖项添加到POM:


com.microsoft.sqlserver


您是如何在项目中包含SQL Server驱动程序的?这个依赖关系是在Maven中声明的,还是您手动将其添加到Eclipse构建路径中的?我手动将其添加到Eclipse构建路径中。这也应该作为依赖项添加吗?太好了!这正是我所需要的。非常感谢你!