Java忽略了类路径
我正在编写一个使用Oracle JDBC驱动程序的java程序。 我已经在我的类路径中进行了设置。 当我在IDE中运行程序(作为库添加为jdbc)时,程序运行正常。 当我尝试部署它时,它完全忽略了类路径中的列表并给了我一个NoClassDefFoundError。
我想使用客户端的JDBC驱动程序(已安装的驱动程序)并且不提供我自己的驱动程序。 我从JDeveloper打包程序,部署为JAR File。
运行:java -jar test.jar
当我将库放在%JAVA_HOME%/ lib / ext中时,它可以正常工作。
有谁知道如何解决这个问题?
使用java -jar
运行时,将忽略类路径。
您需要使用Class-Path
清单属性。
来自http://download.oracle.com/javase/tutorial/deployment/jar/downman.html
您可以指定要包含在applet或应用程序的清单文件中的Class-Path头字段中的类。 Class-Path标头采用以下forms:
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文件是所有用户类的源,并忽略其他用户类路径设置。