1
我正在嘗試編寫一個腳本,它將自動執行我經常執行的一些任務。我的文件夾結構如下所示:Bash編譯Java類和JAR
./
sampleScript.sh
src/SampleProgram.java
除此之外,我的Java程序依賴於ojdbc6.jar
文件,該文件駐留在~/sampleFolder/lib
。
我試圖編譯並在我的腳本運行Java程序,像這樣:
javac -cp "$CLASSPATH:~/sampleFolder/lib/ojdbc6.jar:./src" src/SampleProgram.java
java -cp "$CLASSPATH:~/sampleFolder/lib/ojdbc6.jar:./src" SampleProgram
不幸的是,這是行不通的。它似乎在我的程序中檢查ojdbc6.jar
依賴關係的步驟中失敗。基於這個文件夾結構分配我的-cp
的正確方法是什麼?
我也想你的建議,但我的計劃似乎仍然在這一步失敗:'{嘗試調用Class.forName (「甲骨文.jdbc.driver.OracleDriver「); catch(ClassNotFoundException e){ e.printStackTrace(); }'帶有'java.lang.ClassNotFoundException oracle.jdbc.driver.OracleDriver'的消息' – raphnguyen 2015-02-10 19:14:25
這應該起作用。你現在沒有在'javac'中得到任何錯誤嗎?你也可以嘗試給完整路徑的jar文件,如:'java -cp「$ CLASSPATH」:/ home/user/sampleFolder/lib/ojdbc6.jar:./ src SampleProgram' – anubhava 2015-02-10 19:18:08
我建議' 〜'由於許多原因,其中最重要的是它擴大了引號。 – 2015-02-10 19:23:57