我刚刚在控制台中编译了一个 java 程序。现在我想运行它。我需要用于 postgresql 和 mysql 的 jdbc 驱动程序。因此我需要包括相应的罐子。
我做了以下
java -Xmx512m -cp ".;/path/to/sql/jars" main.Main rc
这样做时,我得到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: main/Main
Caused by: java.lang.ClassNotFoundException: main.Main
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: main.Main. Program will exit.
当像这样忽略类路径选项时
java -Xmx512m main.Main rc
我收到以下错误
java.lang.ClassNotFoundException: org.postgresql.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 database.PostgresQL.getConnection(Unknown Source)
at database.PostgresQL.loadIndexFromDatabase(Unknown Source)
at main.Main.readDataFromDatabase(Unknown Source)
at main.Main.main(Unknown Source)
因此,程序可以正常运行。我的问题:如何告诉程序在控制台中正确查找罐子?