2013-04-20 174 views
1

我试图按照this教程来使用Jade(Java Agent Development Framework)。我对Java很新。我有这个命令的问题:(我使用的是Mac OSX)设置类路径java错误

java -cp lib\jade.jar;classes jade.Boot -gui -agents ping1:examples.PingAgent.PingAgent 

我得到这个错误:

Usage: java [-options] class [args...] 
     (to execute a class) 
or java [-options] -jar jarfile [args...] 
     (to execute a jar file) 
... 
-bash: classes: command not found 

我已经把我的环境变量是这样的:

export CLASSPATH=$CLASSPATH:/Applications/jade/classes 
export CLASSPATH=$CLASSPATH:/Applications/jade/lib/jade.jar 

这里是文件夹的层次结构: enter image description here

如果y你需要更多的信息来了解问题,请让我知道。

回答

3

尝试在你的班级路径中添加引号:java -cp "lib\jade.jar;classes" ...。如果没有他们,Bash解释分号作为新命令的开始,这将导致该错误消息-bash: classes: command not found

编辑

它只是让我吃惊,你当然是在* nix中运行。然后路径分隔符将是:,而不是;。那么报价甚至不需要。半冒号是Windows中的路径分隔符。

+0

嘿,那么我得到这个错误:无法找到或加载主类jade.Boot – 2013-04-20 21:34:54

+0

这是一个不同的错误。无论你的类路径是错误的,还是从错误的文件夹运行命令(这些文件夹都是相对于'jade'文件夹指定的),或者这个类根本不存在。 – NilsH 2013-04-20 21:40:42

+1

当我运行java -cp lib/jade.jar时,jade.Boot -gui工作,如果我在类路径中添加类,它会给我提供错误。 – 2013-04-20 21:43:58

1

尝试

java -cp "lib\jade.jar;classes" jade.Boot -gui -agents ping1:examples.PingAgent.PingAgent 

看起来bash由处理;作为命令的结束,并将类作为新的命令处理。

0

该命令使用Windows标记,而不是Unix标记。在Unix系统上,你必须使用lib/jade.jar而不是lib \ jade.jar