Java忽略了类路径

时间:2011-05-02 14:27:23

标签: java oracle jdbc

我正在编写一个使用Oracle JDBC驱动程序的java程序。我已经在我的类路径中设置了它。当我在IDE中运行程序(作为jdbc添加为库)时,程序运行正常。当我尝试部署它时,它总是忽略类路径中的列表并给我一个NoClassDefFoundError。

我想使用客户端的JDBC驱动程序(已安装的驱动程序)并且不提供我自己的驱动程序。我从JDeveloper打包程序,部署为JAR文件。

运行:java -jar test.jar

当我将库放在%JAVA_HOME%/ lib / ext中时,它可以正常工作。

任何人都知道如何解决此问题?

1 个答案:

答案 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文件是所有用户类的源,并忽略其他用户类路径设置。