java -cp .;lib/* com.example.MainApp
这里 -cp .;lib/* 指定了当前目录和 lib 子目录下的所有 .jar 文件作为类路径,然后跟上全限定类名 com.example.MainApp。注意路径分隔符在不同操作系统中可能不同(Windows 是分号 ;,Linux/Unix 是冒号 :
ClassLoader将class文件加载到jvm虚拟机中:
1、Bootstrap ClassLoader 最顶层的加载类,主要加载核心类库,%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar和class等。可以通过启动jvm时指定-Xbootclasspath和路径来改变Bootstrap ClassLoader的加载目录。
java -Xbootclasspath/a:path被指定的文件追加到默认的bootstrap路径中。
Bootstrap ClassLoader通过改变Xbootclasspath参数实现
java -Xbootclasspath/a:test1.jar -jar test2.jar //-jar方式
java -Xbootclasspath/a:test1.jar -cp test2.jar com.test2.Test2 //-cp方式
2、Extention ClassLoader 扩展的类加载器,加载目录%JRE_HOME%\lib\ext目录下的jar包和class文件。还可以加载-D java.ext.dirs选项指定的目录。
Extention ClassLoader通过改变参数java.ext.dirs实现
java中系统属性java.ext.dirs指定的目录由ExtClassLoader加载器加载,如果您的程序没有指定该系统属性(-Djava.ext.dirs=lib)那么
11-20
2990
06-03
435