小编典典
是否-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 dir\sub\com\test\SayHelloMain.java -cp sayhello.jar
假设您在目录中打开了命令行 Project
这是您可以运行课程的方式 SayHelloMain
java -classpath dir\sub;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。包仅是在类的包声明中定义的包
2020-11-23