Java——CLASSPATH配置

什么是CLASSPATH?

 答: classpath类似于windows中的系统环境变量path

在windows中,如果要想在DOS命令窗口中执行一个程序。系统会先去当前文件路径下找对应命令的执行程序。如果找不到,就会到系统环境变量path中挨个遍历每一个路径。看那个路径下有当前命令的执行程序,然后执行该程序。系统环境变量path隶属于windows操作系统,告诉系统去哪里找可执行的运行程序。
在Java中,我们编写的程序是通过 javac 命令   生成字节码文件 .class 文件  ,然后是使用java 命令  运行字节码文件。 在这个过程中,java 命令  是将 .class 文件  交给 JVM 进行运行。所以,在使用java 命令  时,需要指明  .class 文件   的文件路径。如果文件路径找不到那么 JVM 就会到系统的环境变量中找 CLASSPATH 的一个环境变量。然后挨个遍历CLASSPATH 环境变量 配置的路径,找对应的 class 文件 ,然后执行。这里的 CLASSPATH 环境变量 隶属于Java 的 JVM  ,告诉 JVM 去哪里找 .class 文件 。

简单的例子

在当前路径下编译运行:

换个文件目录,再使用 java 命令:

配置CLASSPATH路径

 

测试运行

按下 键盘  win + R,输入CMD

输入命令:

重点

但是这样就一个问题了,当我们把字节码文件放到其他地方。不再是CLASSPATH指定的目录,进行运行。

注意:当我们在系统环境变量中配置了 CLASSPATH 环境变量后,JVM只会到 CLASSPATH 环境变量 配置的路径中找 class文件

我们知道在环境变量中,可以配置多个路径。我们想要在那个class文件 目录下执行java 命令 都能运行,就可以让它先从当前目录下找,找不到再去配置的其他路径中找。所以,就要把当前路径配置到第一个,优先从当前路径开始找。在windows中  '. 就代表当前路径。

这样太过于局限了,所以还是不配置 CLASSPATH 环境变量 ,要想执行那个class文件就到那个目录下执行 java 命令。(根据个人喜好配置)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/705566.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙OS开发:【一次开发,多端部署】(应用UX设计原则)

应用UX设计原则 设计原则 当为多种不同的设备开发应用时,有如下设计原则: 差异性 充分了解所要支持的设备,包括屏幕尺寸、交互方式、使用场景、用户人群等,对设备的特性进行针对性的设计。 一致性 除了要考虑每个设备的特性…

【userfaultfd+条件竞争劫持modprobe_path】TSGCTF 2021 -- lkgit

前言 入门题,单纯就是完成每日一道 kernel pwn 的 kpi 😀 题目分析 内核版本:v5.10.25,可以使用 userfaultfd,不存在 cg 隔离开启了 smap/smep/kaslr/kpti 保护开启了 SLAB_HADNERN/RANDOM 保护 题目给了源码&…

玩转Matlab-Simscape(初级)- 06 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真(理论部分2)

** 玩转Matlab-Simscape(初级)- 06 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真(理论部分2) ** 目录 玩转Matlab-Simscape(初级)- 06 - 基于Solidworks、Matlab Simulink、COMSOL的协同仿真&am…

u3d的ab文件注意事项

//----------------LoadAllAB.cs--------------------- using System.Collections;using UnityEngine;namespace System.IO{public class LoadAllAB : MonoBehaviour{ //读取本地string path "Assets/Actors/lznh/ab/animation/t_bl/";// Use this for initiali…

第一个fyne应用

第一个fyne应用 由于在写一个milvus的图形化工具,方便客户端使用,调研了一下只有这fyne的go-gui的star最多,比较流行,因此打算使用这个框架来进行milvus的工具开发。 第一个fyne应用 依赖go.mod: module fynedemogo 1.20requi…

Kafka应用Demo: 抽取消费者公共处理代码并利用redis实现多消费者实例负载分担

问题描述 在项目中使用消息中间件,主要为实现两个目的: 任务排队:当请求过多时,消费端无法同时处理,需要排队等待。这一点kafka采用的是"拉取消息"的模式,自然支持。负载分担: 这里的负载负担不…

Benedict Evans:Ways to think about AGI思考 AGI 的方法:

​Benedict Evans本文发布于2024 年 5 月 4 日 How do we think about a fundamentally unknown and unknowable risk, when the experts agree only that they have no idea? 当专家们一致认为他们一无所知时,我们如何看待根本上未知和不可知的风险? T…

JVM学习-虚拟机栈

虚拟机栈 每个线程创建时都会创建一个虚拟机栈,其内部保存一个个栈帧,对应一次次Java方法调用,栈是线程私有的。 生命周期: 与线程相同 作用 主管Java程序的运行,它保存方法的局部变量、部分结果、并参与方法的调用和返回。 …

【管理咨询宝藏104】普华永道财务管理与内控培训

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏104】普华永道财务管理与内控培训 【格式】PDF版本 【关键词】普华永道、四大、财务管理 【核心观点】 - 职能转变后,财务在决策支持…

亚马逊跨境电商平台优势凸显,武汉星起航解析助力卖家把握商机

在全球电商市场的激烈竞争中,亚马逊凭借其独特的优势和卓越的运营能力,成为众多卖家首选的跨境电商平台。武汉星起航作为深耕亚马逊跨境电商领域的领军企业,对亚马逊平台的优势有着深刻的理解和独到的见解。本文将重点探讨亚马逊跨境电商平台…

eMMC和SD模式速率介绍

概述 在实际项目开发中我们常见的问题是有人会问,“当前项目eMMC、SD所使用模式是什么? 速率是多少?”。这些和eMMC、SD的协议中要求的,要符合协议。接下来整理几张图来介绍。 eMMC 模式介绍 一般情况下我们项目中都是会支持到H…

基于SpringBoot设计模式之创建型设计模式·工厂方法模式

文章目录 介绍开始架构图样例一定义工厂定义具体工厂(上衣、下装)定义产品定义具体生产产品(上衣、下装) 测试样例 总结优点缺点与抽象工厂不同点 介绍 在 Factory Method模式中,父类决定实例的生成方式,但…