簡體   English   中英

java -jar myapp.jar包含ojdbc6.jar但拋出ClassNotFoundException

[英]java -jar myapp.jar includes ojdbc6.jar but throws ClassNotFoundException

java -jar myapp.jar包含ojdbc6.jar但拋出以下異常

ClassNotFoundException: oracle.jdbc.driver.OracleDriver

我發現最適合我的帖子為個別班級顯示了這個解決方案:

C:\Project\bin>java -classpath .;ojdbc6.jar MyApp

但是我需要構建一個要部署的jar文件。 每當我構建引用的jar包含時, ojdbc6.jar classpath ojdbc6.jar拋出相同的錯誤。 MyApp在項目的Referenced Libraries文件夾中使用ojdbc6.jar在eclipse中工作正常。

如果您使用的是Maven,我建議使用shade插件創建一個超級jar。 http://maven.apache.org/plugins/maven-shade-plugin/

這樣您就可以確保沒有丟失所需的庫/ jar文件。

如果您不能/不想使用Maven,請提供您可以幫助調試問題的整個堆棧跟蹤。

在命令行中添加-verbose:class ,讓JVM顯示正在加載的類。 如果您沒有看到打印出oracle.jdbc.driver.OracleDriver ,則可能找不到ojdbc6.jar。

感謝大家的意見!

這有效: http//docs.oracle.com/javase/tutorial/deployment/jar/downman.html

關於-C選項的其他帖子提示不適合jar中其他jar的classpath,而是在create jar語句中引用ojdbc6.jar並在Manifest中使用Class-Path(行之間沒有空格 - 這些是由Stack的編輯):

清單 - 版本:1.0

主類:MyApp

Class-Path:ojdbc6.jar

創建者:1.7.0_71(Oracle Corporation)

現在創建jar語句如下所示:

jar cfm myjar.jar MANIFEST.MF MyApp.class Other1.class Other2.class Other3.class

此致,大通

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM