我在执行jar文件时遇到错误。 我已经使用新行设置了我的清单文件,它看起来像这样:
Main-Class: Demo
Class-Path: C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar .
我的主类名是Demo,它位于当前工作目录中。
当我执行jar cfm Project.jar manifest.txt *.class
我的错误是:
Error: Could not find or load main class Demo
主类名和执行目录没有问题,因为当我执行没有类路径的jar文件时,我得到:
Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at Demo.main(Demo.java:8)
答案 0 :(得分:1)
根据JAR File Specification(在“主要属性”,“类路径”下,路径应该是相对的而不是绝对的。因此,如果将oracle jdbc jar复制到与jar文件相同的目录中,并更改只是“ojdbc14.jar”的路径,它应该工作。