使用外部库mysql-connector-Java-5.1.24-bin.jar在Unix上编译Java项目

使用外部库mysql-connector-Java-5.1.24-bin.jar在Unix上编译Java项目,java,mysql,eclipse,unix,ssh,Java,Mysql,Eclipse,Unix,Ssh,我有一个java项目,它读取本地驱动器中的数据库,并使用Eclipse进行编译。 下面是适合我的代码 package SQLtest; import java.sql.*; public class SQLtest { public static void main(String[] args) throws Exception { Connection connect = null; Statement statement = null; Resu

我有一个java项目,它读取本地驱动器中的数据库,并使用Eclipse进行编译。 下面是适合我的代码

package SQLtest;
import java.sql.*;

public class SQLtest {

public static void main(String[] args) throws Exception {
    Connection connect  =   null;
    Statement statement     =   null;
    ResultSet resultSet     =   null;
    String query        =   "SELECT * FROM abc.publicationlist LIMIT 10"; 

    // This will load the MySQL driver, each DB has its own driver
    // Setup the connection with the DB
    // host = localhost, user = root , password = None, database = abc
    try{
        Class.forName("com.mysql.jdbc.Driver");
        connect = DriverManager.getConnection("jdbc:mysql://localhost/abc?"+ "user=root&password=");
        statement = connect.createStatement();
        resultSet = statement.executeQuery(query);

        while(resultSet.next()){
            String id           = resultSet.getString("id");
            String pubyear      = resultSet.getString("pubyear");
            String title        = resultSet.getString("title");
            String jconfname    = resultSet.getString("jconfname");
            String authors      = resultSet.getString("authors");
            String authorids    = resultSet.getString("authorids");
            System.out.println(id + ":" + pubyear + ":" + title + ":" + jconfname + ":" + authors + ":" + authorids);   
        }
    }
    catch ( SQLException err ) {
        System.out.println( err.getMessage( ) );
    }  
    System.out.print("End of program!!!");
}
}

现在我想使用SSH(secureshell)将所有内容移动到服务器上。我已经在SSH上将所有数据库移动到mysql数据库服务器中。 服务器名称不再是localhost,而是更改为xxxxxxxx 用户名:myname 密码:zzzz 我知道我需要在代码本身中更改这些。我不熟悉的是使用Unix环境编译java项目,该项目包括一些外部库,如mysql-connector-java-5.1.24-bin.jar

下面是我使用的2命令

[...... src]$ javac -classpath ".:/home/myname/SQLtest/lib" SQLtest/SQLtest.java
[...... src]$ java -cp ".:/home/myname/SQLtest/lib" SQLtest.SQLtest
我不明白这些日志错误:

Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at SQLtest.SQLtest.main(SQLtest.java:16)

我怎样才能解决这个问题?我对Unix系统真的很陌生

试着放一些jar,比如
-classpath.:/home/myname/SQLtest/lib/mysql-connector-java-5.1.24-bin.jar“
,此外,将jar添加到永久类路径环境VARABLE中并将其导出是一个好主意。

我认为您同时在做两件事。在eclipse外部部署应用程序,并将其移动到其他平台。我建议首先独立部署您的项目,而不在您的开发机器上使用eclipse。然后转到unix。您应该这样设置您的类路径:
-classpath”。:/home/myname/SQLtest/lib/*“
这应该是一个注释