如何为Java程序动态的指定类的搜索路径?

大家知道,在默认情况下,Java程序在编译和运行的时候,会通过JRE下的rt.jar文件和CLASSPATH环境变量所指定的路径进行类的搜索和加载,但是如果有时需要动态为Java程序指定类加载路径,那该怎么办?

有的时候,为了动态的为Java程序指定类加载路径,开发者会写出一些批处理文件来进行Java程序的编译或允许,如Windowsbat文件和Linux下的sh文件。此时,就有一个问题了,这些Java程序可能在不同的环境下,需要的类是不同的,因此,就需要使用javajavac提供给开发者的选项进行编译或运行。

动态的提供类加载路径的选项有俩个即-cp-classpath,它们的作用是一样的,都是指定CLASSPATH的意思。开发者只需要在选项后面加上路径或路径变量即可。下面为一个HelloWorld程序提供额外的jar文件到CLASSPATH中。

javac -cp D:\work\java\log4j.jar HelloWorld.java
java -cp D:\work\java\log4j.jar HelloWorld
或
javac -classpath D:\work\java\log4j.jar HelloWorld.java
java -classpath D:\work\java\log4j.jar HelloWorld

此时,JVM就会把选项指定的jar文件作为CLASSPATH的一个部分。当然,不仅是jar文件,也可以是一个路径或一个环境变量,例如:

set TEST=d:\test\java
javac -cp %TEST% HelloWorld.java
java -cp %TEST% HelloWorld

 

所以,可以这样解答:

JDK中的javajavac命令,提供了-cp-classpath选项为Java程序动态地指定类搜索路径,它们的使用方法比较简单,只需要把相应的目录路径或jar文件路径跟在选项后面即可。



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值