gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 01:19:03 24 4
gpt4 key购买 nike

我有一个 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用户名:我的名字密码:zzzzzz我知道我需要在代码本身中更改这些。我不熟悉的是使用Unix环境编译java项目,其中包含一些外部库,例如mysql-connector-java-5.1.24-bin.jar enter image description here

这是我使用的 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 系统真的很陌生。

最佳答案

尝试放置像-classpath“.:/home/myname/SQLtest/lib/mysql-connector-java-5.1.24-bin.jar”这样的单独的jar,而且这是一个好主意将 jar 添加到可用的永久类路径环境中并将其导出。

关于java - 使用外部库 mysql-connector-java-5.1.24-bin.jar 在 Unix 上编译 Java 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18760305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com