TCP服务器上的java.lang.ClassNotFoundException

TCP服务器上的java.lang.ClassNotFoundException,java,classnotfoundexception,sqljdbc,mssql-jdbc,Java,Classnotfoundexception,Sqljdbc,Mssql Jdbc,我正在用Eclipse用java编写一个基本的TCP服务器,在从客户机接收到一个特定的数据包之后,我正在尝试执行一个MSSQL存储过程。 我可以记录所有内容,但当我尝试插入行时,出现以下错误: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 试图用谷歌搜索解决方案,但没有任何效果,不断给我那个错误。 下面是我的类路径xml(jar文件在那里): 这是我与插入的db类的连接: pac

我正在用Eclipse用java编写一个基本的TCP服务器,在从客户机接收到一个特定的数据包之后,我正在尝试执行一个MSSQL存储过程。 我可以记录所有内容,但当我尝试插入行时,出现以下错误:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
试图用谷歌搜索解决方案,但没有任何效果,不断给我那个错误。 下面是我的类路径xml(jar文件在那里):


这是我与插入的db类的连接:

package servers;

import java.sql.*;

public class LServerDBConn {

    private Statement stmt;
    private String DriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    private String url = "jdbc:microsoft:sqlserver://192.168.x.x;databaseName=XXX";
    private String DBuser = "sa";
    private String DBpassword = "123123";

    public void connectionText(String query) throws ClassNotFoundException,SQLException {
        Class.forName(this.DriverName);

        Connection con = DriverManager.getConnection(this.url, this.DBuser, this.DBpassword);

        this.stmt = con.createStatement();

        ResultSet rs = stmt.executeQuery("EXEC SPI_TK103_PACKET" + query);
        if (rs.next()) {
            System.out.println("DBConnection success");
        } else {
            System.out.println("DBConnection failure");
        }
        con.close();
    }

}
这是我的主课:

LServerDBConn con = new LServerDBConn();
con.connectionText(new String(buf, 0, bytes_read));
谢谢你的帮助


[编辑]文件似乎有问题。项目没有读取文件,因此找不到类。我尝试使用JTDS,同样的情况也发生了。我想我正在使用一些配置。

看起来您缺少了

sqljdbc4.jar或sqljdbc.jar

在您的类路径中

编辑(如何将其包含在类路径中) 类路径不容易用您需要查看的一个快速答案来解释,基本上您必须告诉java应用程序在哪里查找要加载到其类路径中的JAR/资源

Linux

java-classpath“/home/leandro/workspace/LHub/*:”YourApp

下载tar.gz并解压缩它以获得jar
尝试从

下载它,但是应该如何用xml编写?我在项目文件夹中有这两个文件。同样在/usr/lib/jvm/java-7-common/ext文件夹(或类似的文件夹)中,感谢您的回答。我会尝试一下,让你知道。有没有办法从内部配置类路径?所以我可以在不带-classpath参数的情况下执行java-jar FILE.jar?有一种方法,但它可能不是您想要的,但它是这样的。一旦你的项目准备好了,用你所有的类制作一个jar,当你创建jar时,在其中包含JDBCJAR,并添加jar,设置jar的清单,以包含你的类和主方法以及类路径。我发现最好的方法通常是使用ant,但是你可以用很多其他方法手工制作它,包括手动。Java是一种令人惊叹的语言,但是打包系统还有很多需要改进的地方。。。