我有一个目录/mydir
,包p
/mydir/p
和课程cl
/mydir/p/cl.class
我不希望cd
进入包目录。
我怎么能从包目录外面执行我的类,比如目录/my/otherdir/here
,如果可能的话?
/my/otherdir/here>java -cp /mydir/p p.cl
收到java.lang.NoClassDefFoundError: p/cl
错误。
显然java -cp /mydir/p cl
会引发wrong name:p/cl
错误。
答案 0 :(得分:2)
包目录p
不需要在类路径上。这是它的父目录/mydir
。虽然提供了类名称(p.cl
),但仍需要包含该包。
java -cp /mydir p.cl