ローカル ドライブのデータベースを読み取り、Eclipse を使用してコンパイルする Java プロジェクトがあります。以下は、私にとってうまくいくコードです。
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 環境を使用して、mysql-connector-java-5.1.24-bin.jar などの外部ライブラリを含む Java プロジェクトをコンパイルすることです。
これが私が使用した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システムに本当に慣れていません。