是否
-cp会递归搜索指定的目录:否
当类加载器进入在类路径中指定的目录时,它将使用
package该类所在的子目录开始。如果未指定包,则类加载器将其放在目录的直接子级(类文件)下。
它是
-cp直接货币/罐和的组合
package name。
假设您具有以下目录结构
+ Project sayhello.jar + dir + sub + com + test SayHelloMain.java
该类的代码在哪里
SayHelloMain.java( 请注意包声明 )
package com.test;import miscellaneous.so.SayHello;public class SayHelloMain { public static void main(String[] args) { SayHello.sayIt(); }}和
sayhello.jar包含该类的jar文件
SayHello
SayHelloMain如果在与Java源文件相同的目录中打开命令行,这就是编译类的方式
javac SayHelloMain.java -cp ........sayhello.jar
或者如果在目录中打开了命令行
Project
javac dirsubcomtestSayHelloMain.java -cp sayhello.jar
假设您在目录中打开了命令行
Project
这是您可以运行课程的方式
SayHelloMain
java -classpath dirsub;sayhello.jar com.test.SayHelloMain
类名必须 完全限定 从而
com.test.SayHelloMain
命令
java -classpath dir;sayhello.jar com.test.SayHelloMain
将不会工作,因为
dir未递归搜索目录
命令
java -classpath dir;sayhello.jar sub.com.test.SayHelloMain
由于没有这样的软件包,也将无法使用
sub.com.test。包仅是在类的包声明中定义的包



