java djava_新版 Java 的类路径问题,-Djava.ext.dirs 的替代方法

所以说,这写程序啊,一个月不写就手生。

在运行 Java 程序时经常要指定一个包含各种 jar 包的目录作为类路径,以前我们习惯用 -Djava.ext.dirs=... 来指定这个 jar 目录。

但在新版的 JDK 中,好像是从 JDK 9 开始,当你还用这个参数的时候就会提示你:

C:\Users\Winter Lau>java -Djava.ext.dirs=lib

-Djava.ext.dirs=lib is not supported. Use -classpath instead.

Error: Could not create the Java Virtual Machine.

Error: A fatal exception has occurred. Program will exit.

好吧,让你用 -classpath 或者 -cp 来替代,这倒省事了。

然后我就试试

java -cp lib xxx.xxxx

java -cp lib\*.jar xxx.xxx

结果虽然不报错了,但类路径的设置并不起作用。

琢磨半天,居然要这么玩:

java -cp lib\* xxx.xxxx

注意哦,是 lib\* 而不是 lib\*.jar 也不是 lib 。Linux 换成正斜杠即可。

擦!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java -djava.ext.dirs和--class-path是两个Java的命令行选项,都用于指定Java虚拟机运行时查找类文件的路径Java的类库是由许多Java类文件组成的,这些类文件需要被Java虚拟机加载并执行。当我们编写Java程序时,我们需要通过某种方式告知Java虚拟机去哪里查找这些类文件。 -djava.ext.dirs选项用于指定Java虚拟机搜索Java扩展(Java Extension)类库的路径Java扩展类库是指Java虚拟机内置的一些功能库,比如Java Database Connectivity(JDBC)类库,Java Naming and Directory Interface(JNDI)类库等。Java扩展类库通常存放在JRE的ext文件夹中,但是有时候我们可能需要自己定义一些Java扩展类库,那么就需要使用-djava.ext.dirs选项来告知Java虚拟机去哪里查找这些类文件。 --class-path选项用于指定Java虚拟机搜索Java应用程序类库的路径Java应用程序类库是指我们编写的Java程序所依赖的一些类库,比如在编写Spring框架的应用程序时需要依赖Spring框架的类库。在编写Java应用程序时,我们需要告知Java虚拟机去哪里查找这些类库,那么就需要使用--class-path选项来指定Java应用程序类库的路径。 综上所述,Java -djava.ext.dirs和--class-path选项都用于指定Java虚拟机运行时查找类文件的路径,但是-djava.ext.dirs选项用于指定Java扩展类库的路径,而--class-path选项用于指定Java应用程序类库的路径

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值