[英]Running Java program from Linux command line that requires an additional file
我正在按照本教程制作與數據庫交互的程序。 我被困在運行它的最后一步。 給定的示例是C:\\test>java -cp c:\\test\\postgresql-8.3-603.jdbc4.jar;c:\\test JDBCExample
我的主目錄中同時包含JDBC的.class文件和.jar。 我試過了
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF/QueryDB.class
,我得到“無法提取二進制文件”
我嘗試了java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF/QueryDB
,卻得到“沒有這樣的文件或目錄”
我嘗試了java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF QueryDB
並得到“ JohnF是目錄”
我使用chmod
將文件權限設置為777
。 我如何運行它?
您使用分號作為類路徑分隔符-這在Linux上不起作用。 嘗試替換“;” 在類路徑中使用“:”,它應該可以工作。
編輯:這里發生的事情的解釋。 在Linux中,“;” 是命令分隔符。 您的行
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF QueryDB
實際上擴展為2個一對一執行:
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar
/home/JohnF QueryDB
第一個不執行任何操作並成功退出。 第二種嘗試將/home/JohnF
作為可執行文件調用,這實際上不是可執行文件,而是目錄!
FIX:使用:代替;
為什么? * nix環境中的文件分隔符是' : '而不是' ; '
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.