我正在编写一个使用 Oracle JDBC 驱动程序的 java 程序。我已将其设置在我的类路径中。当我在 IDE 中运行程序(作为 jdbc 添加为库)时,程序运行良好。当我尝试部署它时,它完全忽略类路径中的列表并给我一个 NoClassDefFoundError 。
我想使用客户端的 JDBC 驱动程序(已安装的驱动程序)并且不提供我自己的驱动程序。我从 JDeveloper 打包程序,部署为 JAR 文件。
运行:java -jar test.jar
当我将库放入 %JAVA_HOME%/lib/ext 时,它可以正常工作。
有人知道如何解决这个问题吗?
当你跑步时java -jar
,类路径被忽略。
您需要使用Class-Path
显性财产。
From http://download.oracle.com/javase/tutorial/deployment/jar/downman.html
您可以指定要包含在小程序或应用程序清单文件的 Class-Path 标头字段中的类。 Class-Path 标头采用以下形式:
Class-Path: jar1-name jar2-name directory-name/jar3-name
From http://download.oracle.com/javase/1.4.2/docs/tooldocs/linux/java.html
-jar
...
使用此选项时,JAR 文件是所有用户类的源,并且其他用户类路径设置将被忽略。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)