线程异常 "main" java.lang.NoClassDefFoundError 启动错误
Exception in thread "main" java.lang.NoClassDefFoundError launch error
我有 Java 中的典型错误。我有下一个结构:
bin/
lib/
src/
junior/
databases/
homework/Main.java
我的Main.java代码是:
package junior.databases.homework;
import java.sql.*;
public class Main {
private static Connection connection = null;
public static void main(String[] args) throws SQLException, ClassNotFoundException {
initDatabase();
System.out.println("Done");
}
private static void initDatabase() throws SQLException, ClassNotFoundException {
Class.forName("org.postgresql.Driver");
connection = DriverManager.getConnection(
"jdbc:postgresql://192.168.136.129:5432/postgres", "postgres", "xxxx");
}
}
当我这样启动它时:
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src/junior/databases/homework# javac Main.java
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src/junior/databases/homework#java Main
我收到错误:
Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: junior/databases/homework/Main)
我在这个 post 中找到了解决方案 Exception in thread "main" java.lang.NoClassDefFoundError: Hello
我的尝试:
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src# javac junior/databases/homework/Main.java
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src# java junior.databases.homework.Main
完美运行。
问题是我只能从 src/ 文件夹启动这段代码(((有什么办法可以从 /src/junior/databases/homework 文件夹启动它吗?我需要回到 src 每个是时候启动代码了。
给你,假设你在 src/junior/databases/homework
目录中:
javac ../../../junior/databases/homework/Main.java
java -cp ../../../ junior.databases.homework.Main
我有 Java 中的典型错误。我有下一个结构:
bin/
lib/
src/
junior/
databases/
homework/Main.java
我的Main.java代码是:
package junior.databases.homework;
import java.sql.*;
public class Main {
private static Connection connection = null;
public static void main(String[] args) throws SQLException, ClassNotFoundException {
initDatabase();
System.out.println("Done");
}
private static void initDatabase() throws SQLException, ClassNotFoundException {
Class.forName("org.postgresql.Driver");
connection = DriverManager.getConnection(
"jdbc:postgresql://192.168.136.129:5432/postgres", "postgres", "xxxx");
}
}
当我这样启动它时:
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src/junior/databases/homework# javac Main.java
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src/junior/databases/homework#java Main
我收到错误:
Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: junior/databases/homework/Main)
我在这个 post 中找到了解决方案 Exception in thread "main" java.lang.NoClassDefFoundError: Hello
我的尝试:
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src# javac junior/databases/homework/Main.java
root@debian:/python_codes/Junior/Level1/DB1/ORM/java/java/src# java junior.databases.homework.Main
完美运行。 问题是我只能从 src/ 文件夹启动这段代码(((有什么办法可以从 /src/junior/databases/homework 文件夹启动它吗?我需要回到 src 每个是时候启动代码了。
给你,假设你在 src/junior/databases/homework
目录中:
javac ../../../junior/databases/homework/Main.java
java -cp ../../../ junior.databases.homework.Main