[英]Unable to execute Java in Ubuntu terminal
我正在尝试连接到MYSQL数据库,并且我的程序Sync_DB_RegCheck.java在Eclipe中运行正常。 但是我想在Ubuntu 12.04 Terminal中执行并运行相同的程序。但是在执行过程中出现以下错误。
Exception in thread "main" java.lang.NoClassDefFoundError: Sync_DB_RegCheck
Caused by: java.lang.ClassNotFoundException: Sync_DB_RegCheck
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)
Could not find the main class: SYNC_APP.bin.Sync_DB_RegCheck. Program will exit.
我的Java程序Sync_DB_RegCheck.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Statement;
public class Sync_DB_RegCheck {
public static void main(String [] args) throws Exception {
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection( "jdbc:mysql://localhost/test?user=root&password=root");
System.out.println("Connected?");
try{
Statement st = (com.mysql.jdbc.Statement) conn.createStatement();
st.executeUpdate("DROP TABLE del");
System.out.println ("Table Deletion process is completly successfully!");
}
catch(SQLException s){
System.out.println("Table is not exists!");
}
}}
编译代码:这正在编译程序而没有错误
$java -cp mysql-connector-java-5.1.24-bin.jar Sync_DB_RegCheck.java
执行代码:出现上述错误
java -cp mysql-connector-java-5.1.24-bin.jar Sync_DB_RegCheck
您的java
命令包含-cp
选项,该选项指定类路径:JVM查找要使用的类的位置。
这个类路径包含MySQL驱动程序,这很好。 但是它不包含Sync_DB_RegCheck.class
文件所在的当前目录(由.
表示)。 因此,您还需要添加一个:
java -cp .:mysql-connector-java-5.1.24-bin.jar Sync_DB_RegCheck
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.