我正在跟随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作为可执行文件调用,而这实际上不是可执行文件,而是一个目录!

10-08 03:03