我正在编写一个使用Oracle JDBC驱动程序的java程序。我已经在我的类路径中设置了它。当我在IDE中运行程序(作为jdbc添加为库)时,程序运行正常。当我尝试部署它时,它总是忽略类路径中的列表并给我一个NoClassDefFoundError。
我想使用客户端的JDBC驱动程序(已安装的驱动程序)并且不提供我自己的驱动程序。我从JDeveloper打包程序,部署为JAR文件。
运行:java -jar test.jar
当我将库放在%JAVA_HOME%/ lib / ext中时,它可以正常工作。
任何人都知道如何解决此问题?
答案 0 :(得分:26)
使用java -jar
运行时,将忽略类路径。
您需要使用Class-Path
清单属性。
来自http://download.oracle.com/javase/tutorial/deployment/jar/downman.html
指定要包含在applet或应用程序的清单文件的Class-Path头字段中的类。 Class-Path标头采用以下形式:
Class-Path: jar1-name jar2-name directory-name/jar3-name
来自http://download.oracle.com/javase/1.4.2/docs/tooldocs/linux/java.html
<强> -jar 强>
...
使用此选项时,JAR文件是所有用户类的源,并忽略其他用户类路径设置。