Java 忽略类路径

发布于 2024-11-04 09:07:19 字数 323 浏览 0 评论 0原文

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

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

运行: java -jar test.jar

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

有人知道如何解决这个问题吗?

I'm writing a java program which uses the Oracle JDBC driver. I've set it up in my classpath. When I run the program inside my IDE (added as jdbc as library) the program runs fine. When I try to deploy it, it totaly ignores the listing in classpath and gives me a NoClassDefFoundError.

I want to use the client's JDBC driver (the one installed) and don't supply my own. I package the program from JDeveloper, deployment as JAR File.

Running with: java -jar test.jar

When I put the library in %JAVA_HOME%/lib/ext it works properly.

Anyone knows how to resolve this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枯叶蝶 2024-11-11 09:07:19

当您使用 java -jar 运行时,类路径将被忽略。

您需要使用 Class-Path 清单属性。

来自 http://download.oracle.com/javase/tutorial/deployment/ jar/downman.html

您可以指定要包含在小程序或应用程序清单文件的类路径标头字段中的类。 Class-Path 标头采用以下形式:

类路径:jar1-名称 jar2-名称 目录名称/jar3-名称

来自 http://download.oracle.com/javase/1.4.2/docs/tooldocs/linux/java.html

-jar

...

当您使用此选项时,JAR 文件是所有用户类的源,并且其他用户类路径设置将被忽略。

When you run with java -jar, the classpath is ignored.

You need to use the Class-Path manifest property.

From http://download.oracle.com/javase/tutorial/deployment/jar/downman.html

You specify classes to include in the Class-Path header field in the manifest file of an applet or application. The Class-Path header takes the following form:

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

...

When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文