簡體   English   中英

使用外部庫mysql-connector-java-5.1.24-bin.jar在Unix上編譯Java項目

[英]Compiling a Java project on Unix using external library mysql-connector-java-5.1.24-bin.jar

我有一個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(安全外殼)將所有內容移至服務器。 我已經將所有數據庫移到SSH上的mysql數據庫服務器中。 服務器名稱不再是localhost,而是更改為xxxxxxxx用戶名:myname密碼:zzzzzz我知道我需要在代碼本身中更改這些名稱。 我不熟悉的是使用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添加到永久的classpath環境中,出口那個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM