博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重学JAVA基础(一):PATH和CLASSPATH
阅读量:6227 次
发布时间:2019-06-21

本文共 921 字,大约阅读时间需要 3 分钟。

我想大多数Java初学者都会遇到的问题,那就是怎么配置环境,执行java -jar xxx.jar  都会报NoClassDefFindError,我在最开始学习的时候,也遇到了这些问题。

1.PATH
    path是路径的意思,我们直接在控制台运行一个程序时候,系统都会在指定的path下去找有没有这个程序,如果有就执行,没有就报错或者提示。
    在windows系统中,使用echo %PATH%来查看PATH下的路径
 
  在linux系统中,使用 echo $PATH
    
    我们将java的bin目录加入path后,就可以直接在控制输入java命令进行执行了,不必在进入java的bin目录中执行相关java命令。
 
 
2.CLASSPATH
    通过设置path,能在任何目录下执行java命令了,但是jvm怎么知道我要执行的class类在哪儿呢?这就要通过设置classpath来解决了。
    几种设置classpath变量的方式:
    1).通过环境变量窗口设置
    2).命令行设置
        set CLASSPATH=
    3).执行java命令时设置
        java -classpath=
    我们最常用的配置是设置classpath=.;  表示在当前目录下查找class。以前版本还得设置lib和lib\tools.jar,现在我用的JDK1.8发现自己可以不用设置了,系统帮你设置和完成class类的查找。
 
    我们可以通过下面的程序,来查看系统默认加载了些什么jar
    URL[] urls=sun.misc.Launcher.getBootstrapClassPath().getURLs();
     for (int i = 0; i < urls.length; i++) {
       System.out.println(urls[i].toExternalForm());
     }
    
    rt.jar是java很核心的jar包,基本包含了我们通常使用的基础类
 
    CLASSPATH对于JVM就相当于PATH对应于操作系统,操作系统要在指定的路径找到程序,而JVM要在指定的路径找到CLASS类
        

转载于:https://www.cnblogs.com/TomSnail/p/4379801.html

你可能感兴趣的文章
深度学习常见算法之训练自己的数据
查看>>
Visual Studio2015使用tinyfox2.x作为Owin Host调试教程
查看>>
中国的支付清算体系是怎么玩的?
查看>>
[工具] 全文检索工具推荐
查看>>
java取整和java四舍五入方法 BigDecimal.setScale()方法详解
查看>>
Spring boot中使用springfox来生成Swagger Specification小结
查看>>
python 01
查看>>
【Network】修改docker启动默认网桥docker0为自定义网桥
查看>>
MySQL分支的选择:Percona还是MariaDB
查看>>
算法笔记_013:汉诺塔问题(Java递归法和非递归法)
查看>>
vsftp简单学习思考
查看>>
HTTP协议缓存策略深入详解之ETAG妙用
查看>>
Asp.Net WebApi 项目及依赖整理
查看>>
【Spring源码分析】非懒加载的单例Bean初始化过程(下篇)
查看>>
如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
查看>>
8 -- 深入使用Spring -- 4...5 AOP代理:基于注解的“零配置”方式
查看>>
1. 自动化运维系列之Cobbler自动装机
查看>>
《数据结构》读书笔记
查看>>
Ubuntu下删除卸载程序图标
查看>>
java和C#异常处理的差异
查看>>