java -cp classpath_java classpath

>为何需要classpath

//为了搜索程序需要的class

>谁来搜索呢?

//jvm, classpath是JVM用到的一个环境变量

>默认的classpath是'.', 即当前目录。

没有设置系统环境变量,也没有传入-cp参数,那么JVM默认的classpath为.,即当前目录:

如果传入了-cp参数或在系统环境变量设置了classpath,还会搜索当前目录吗?

//看情况。如果这两个设置里没有'.'就不会搜索当前目录,有就会搜索

>在系统环境变量设置了classpath,运行时有传入了-cp参数,会怎样?

//只搜索-cp指定的

>为何不推荐设置系统环境变量classpath

//污染环境: 程序a需要aa.jar, 放入系统环境变量classpath. 程序b启动时,不需要aa.jar却也要去搜索遍历aa.jar里的class

//使用-cp符合程序设计的局部化理念

>java -jar target/test.jar

会把target/test.jar 作为classpath.

System.out.println(System.getProperty("java.class.path"));

输出的classpath是:target/test.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值