我正在跟随this tutorial来制作一个与数据库交互的程序。我被困在我运行它的最后一步。给出的例子是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
实际上是一个接一个地执行两个:
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar
/home/JohnF QueryDB
第一个什么都不做,成功退出。
second尝试将
/home/JohnF
作为可执行文件调用,而这实际上不是可执行文件,而是一个目录!