JDK及JRE版本为 11.0.2
项目Demo2的文件树为
Demo2
|-src
|-app
|-App.java
|-lib
|-json-20200518.jar
执行如下指令进行编译:
PS D:\∞\FileProgram\Demo2> javac -encoding utf8 -cp ".\lib\json-20200518.jar" -d .\target\ .\src\app\App.java
其中,-cp 参数用于指定类加载的路径,可以是 JAR 包、ZIP 文件,还可以有多个路径,多个路径之间用分号(Windows)或冒号(Linux)分隔,而 -d 用于指定编译产生的文件所在的目录。
运行时执行以下两个指令的其中一个:
PS D:\∞\FileProgram\Demo2> java -cp ".\target\;lib\*" app.App
PS D:\∞\FileProgram\Demo2\target> java -cp ".;..\lib\json-20200518.jar" app.App
这里就需要注意了,和编译时不同的是,运行时 -cp 参数的值中还要有想要运行的 .class 文件的所在目录,这是因为使用了 -cp 参数造成的,如果不适用这个参数时,默认类路径就是当前目录。
.\ 代表当前目录,..\ 代表当前目录的上一目录,此外 ..\..\ 代表当前目录的上一级目录的上一级目录。
原文:https://www.cnblogs.com/JSSSILVY/p/13139816.html