Java环境配置中的一个小细节——加.使其环境适配性更好

问题引入:

作为Java的初学者,今天在学习package过程中遇到这样的问题:跟着网上的教程,在管理员窗口中使用javac -d . Study.java进行带路径编译,这样在当前文件夹(我的是C:\javatest)中就生成了相应路径的文件夹,按照我的Study.java中写的package com.kk,就会生成com\kk\Study.class这样的路径。然后老师执行java com.kk.Study就可以运行了,而我却显示了如下报错:

PS C:\javatest> java com.kk.Study 错误: 找不到或无法加载主类 com.kk.Study 原因: java.lang.ClassNotFoundException: com.kk.Study

而后使用指定路径命令java -cp . com.kk.Study却能顺利执行

问题分析:

运行java -cp . com.kk.Study成功执行时,表明这个类文件路径是没有问题的,使用指定路径命令java -cp类路径选项指定了当前目录作为搜索路径,这样Java虚拟机能够找到并加载这个类。

然而,当没有指定-cp选项时,就会碰到ClassNotFoundException。说明在尝试通过java com.kk.Study来运行程序时,Java虚拟机没有使用当前目录作为默认的类路径,或者类路径被其他设置覆盖了。也就是说它不能直接找到这个路径。问题出现在系统环境变量的编辑上。

问题解决:

网上查阅了以下也没有找到相关解决方案,系统环境的配置似乎没有问题。忽然想到,我们常常用"."表示当前文件夹,那能不能通过直接在系统环境变量中直接添加"."来表示在任何的当前路径下都能直接使用Java指令呢?没想到真的能行:

在CLASSPATH中添加了"."这一路径,之后在任何“当前路径”便都可以直接跑Java指令了。

显然这只是问题的某一种解决方法,不过笔者暂时没空去深究了,毕竟这样的解决方法也是十分方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值