簡體   English   中英

從Linux命令行運行Java程序需要一個附加文件

[英]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.

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