关于Java的Classpath详解

Java 中的 Classpath 类路径详解 在 Java 开发中,`classpath` 是一个非常重要的概念,它指定了 Java 虚拟机(JVM)在运行时或编译时寻找类文件和资源的路径。正确理解和使用 `classpath` 能够帮助开发者避免类加载错误、资源找不到的问题。本文将从基本概念、配置方式、常见问题等多个方面深入讲解 `classpath` 的作用和配置方法,帮助开发者在实际项目中更加熟练地使用这一概念。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> Java 的新入门者对classpath往往比较困惑,为何在开发环境中能运行的东东出去就不好,或在外面运行的东东挺溜的进了开发环境就死菜。   java的优点就是他是一个自动支持网络功能的东东,举一个简单例子来将   比方有一个Application用到了java.lang.String(事实上要是有一个程序没用到它,太难以想象了)和com.shinechina.MyClass(我自己写的)这两个类。   版本1: package com.shinechina; public class MyClass { public static void main(String args[]) { String str = "版本1: hello, welcome to chinaasp java 技术"; System.out.println(str); } }   版本2: package com.shinechina; public class MyClass { public static void main(String args[]) { String str = "版本2:hello, welcome to chinaasp java 技术"; System.out.println(str); } }   现在我要运行它了    java com.shinechina.MyClass   现在问题来了   Java怎么知道到何处找呢, 他到底该怎么办   假定版本一在 c:/mylib/com/shinechina/MyClass.java   假定版本二在 d:/mylib/com/shinechina/MyClass.java   注意:不要忘了编译成class文件吆, java文件是不能执行的    cd c:/mylib/com/shinechina    javac *.java    cd d:/mylib/com/shinechina    javac *.java   有了:   他先到机器的CLASSPATH去找,假设是windows系统 c:/mylib;d:/mylib;d:/jdk1.2.2/lib/rt.jar; 或unix系统 /home/local/:/usr/local/:/usr/local/jdk1.2.2/lib/rt.jar。好, c:/mylib下他找到了com目录,有戏, 又往下找又有shinechina目录,目录下找到了MyClass.class, Ok 就是他了,至于d:/mylib我的版本2的MyClass他就不理会了,至于String是在rt.jar压缩包中待会再讲他   执行的结果就是    版本1: hello, welcome to chinaasp java 技术   反过来d盘的路径在c:之前,执行的结果就是    版本2: hello, welcome to chinaasp java 技术   依次类推, 只有在类路径上第一个找到的才会执行,你要控制他执行那一个须如此:    java -classpath d:/mylib;%classpath% com.shinechina.MyClass   执行的结果就是    版本2: hello, welcome to chinaasp java 技术   开发环境中的执行就是这样,总有一个地方指定类路径的。   注意,开发环境往往不去读系统路径, 这也就是在外面运行的东东挺溜的进了开发环境就死菜的原因喽。   比如说jbuilder, jdevoloper从菜单project->project properties...->paths标签->Add...->添加定义好的library点ok或者new->输入name和classpath->ok。这个东东就被添加到了classpath中(运行时可在message view中看到)   再比如说visualAge for java , 点中你要运行的类->鼠标右击选中特性->类路径标签1。->编辑->全选,好,开发环境中的所有类都能找到了。   2、立即计算(只选中你需要的类, 如果有用class.forName之类通过程序显式装载的类的话,需要自己从编辑中手工家入了, 开发环境每能力帮你算出来了,如果内存没有问题的话,直接编辑->全选更方便吆)   3、如果你的类并不想引入开发环境的话,点中添加额外路径,编辑(下面的一个), 我不喜欢这样, 就不详细介绍了   高手的话,直接用jdk, 那么只好麻烦你要么加到系统classpath中(unix下为$CLASSPATH), 要么编译运行时显式指明classpath   下面介绍一个初学者最容易犯的错误   还以上节介绍的例子   假定版本一在 c:/mylib/com/shinechina/MyClass.java   编译后c:/mylib/com/shinechina/MyClass.class   怎么指定classpath呢   常见毛病    1、c:/mylib/com/shinechina/    2、c:/mylib/com/   正确    1、c:/mylib/    2、c:/mylib
【隐私计算】从本地加法到在线乘法:Beaver Triple如何重塑算术秘密分享的运算效率 本文深入探讨了Beaver Triple在算术秘密分享中的关键作用,显著提升了隐私计算中的乘法运算效率。通过对比加法与乘法的实现差异,详细解析了Beaver Triple的预处理机制和在线计算优化,展示了其在减少通信量和计算时间方面的革命性突破。 阅读详情

相关推荐

STM32H743VIT6最小系统板PCB设计全流程(AD09实战教程+封装库分享)

本文详细介绍了基于STM32H743VIT6高性能MCU的最小系统板PCB设计全流程。内容涵盖从项目规划、原理图设计到PCB布局布线的AD09实战操作,重点解析了高速电路设计中的电源、时钟、去耦等关键模块的处理要点与常见陷阱,并分享了经过验证的封装库资源,旨在为工程师提供一套完整、可靠的设计方法与实战参考。

weixin_29194693的博客 120

java中path和CLASSPATH的配置和意义解析

一、jdk中的jre和java目录下的jre文件的内容区别; 二、环境变量的设置; 三、path和CLASSPATH路径设置的意义和区别; 四、环境变量与系统环境变量的区别;

eclipse_yin的博客 1万+

Windows系统监控实战:Grafana+Prometheus+node_exporter配置全攻略

本文提供了一套完整的Windows系统监控解决方案,详细介绍了如何使用Grafana、Prometheus和node_exporter(Windows版为windows_exporter)构建可视化监控平台。从环境准备、组件安装配置,到数据可视化与常见问题排查,手把手指导您实现从数据采集到仪表盘展示的全过程,帮助您从被动救火转向主动预警,有效保障Windows服务器稳定运行。

assembly8low的博客 250

关于JAVA项目中CLASSPATH路径详解

在dos下编译java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候。classpath就是存放.class等编译后文件的路径。 javac:如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定...

qq_40658890的博客 1067

自然语言处理之话题建模:BERTopic模型详解

BERTopic是一种基于BERT的先进话题建模技术,它结合了BERT的语义理解能力和非参数聚类算法HDBSCAN的灵活性,能够生成高质量、语义丰富的话题。与传统的LDA(Latent Dirichlet Allocation)话题模型相比,BERTopic能够更好地捕捉文本的复杂语义结构,因为它利用了预训练的BERT模型来嵌入文本,从而在话题建模中引入了深度学习的力量。聚类是无监督学习的一种,其目标是将数据集中的样本按照相似性进行分组,每个组称为一个“簇”。

zhubeibei168的博客 4544

AutoSAR系列讲解(实践篇)12.1-Diagnostics简介

主要概括性的讲解了诊断协议UDS和AutoSAR的诊断架构

雪云飞星的博客 1万+

java classpath顺序_ClassPath详解

使用JAVA开发或运行基于JAVA编写的程序,在安装JDK之后,一般需要配置如下几条环境变量(以Windows为例):JAVA_HOME : C:\Program Files\Java\jdk1.8.0_112CLASSPATH : .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\libPATH : your-unique-entries;%JAVA_HOME%\bi...

weixin_28674303的博客 948

倍福--手动加入第三方伺服的配置

客户在没有硬件情况下,希望手动配置硬件,添加第三方驱动器,本文介绍其操作流程 目 录 软硬件版本 3 1.1. 倍福Beckhoff 3 1.1.1. 控制器硬件 3 1.1.2. 控制软件 3 操作步骤 3 2.1. 添加电机XML文件 3 2.2. 创建EtherCAT 3 2.3. 添加新建项 3 2.4. 选择型号 4 2.5. 关联NC轴 5 软硬件版本 1.1. 倍福Beckhoff 1.1.1. 控制器硬件 TwinCAT控制制器,PC或者EPC,包括: 嵌入式控制器:CX5020-

weixin_41883890的博客 5329

Java ClassPath详解

Java ClassPath 文章目录Java ClassPath前提概括指定ClassPath环境变量方式命令方式两种方式共存深入剖析CLASSPATH参考 前提 在类Linux环境下实验. 本文环境是Centos和Mac OSX. 一切命令都是在shell脚本提交,命令行同理. 概括 ClassPath就是Java应用程序在运行中,用于从ClassPath指定的位置加载Class文件和其他资源...

如果对你有帮助点个赞, 非常感谢. 362

【基于CKF的IMM】CV和CT两个模型下的IMM,二维,滤波使用CKF(容积卡尔曼滤波),附完整的matlab代码

该文章摘要: 本文提出了一种基于交互多模型(IMM)和容积卡尔曼滤波(CKF)的融合定位算法,用于解决目标在直线运动和转弯机动之间的模型切换问题。通过MATLAB仿真实现了IMM-CKF算法,并与单一的CV-CKF(匀速模型)和CT-CKF(匀角速转弯模型)方法进行对比。实验结果表明,在包含直线段和转弯段的复合轨迹跟踪中,IMM-CKF方法能够自适应调整模型权重,显著提高了定位精度。轨迹跟踪图、位置/速度误差对比图以及模型概率曲线直观展示了IMM算法的优势。文章提供了完整的MATLAB实现代码,可用于目标跟

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 615

【STM32项目】基于AI技术的多功能消防机器人(完整工程资料源码)

机器人通过巡逻扫描环境空间与障碍物、定位导航、探测物体/环境进行建模/自动地图测绘、扫描火焰、获取温湿度大小、获取空气安全情况来判断当前环境地点是否安全,检测到温度过高或检测到易燃、烟雾、有毒气体或摄像头识别到火焰时能够通过高压水泵喷射器来实现火焰隔离工作,蜂鸣器进行现场鸣笛报警,同时将当前环境温湿度大小、空气情况、环境地图、是否安全信息,将各个传感器来接收获取到的信息,实时发送到用户手机中的微信小程序,实现与用户远程监视功能,用户同时也能通过手机与电脑远程下发命令来操控机器人来实现交互功能

嵌入式技术开发 1万+

java的classpath详解

转自:http://takkymj.javaeye.com/blog/734408 1、class搜索路径的重要性 理解class搜索路径对所有Java开发人员来说都很重要,但是,IDE的广泛使用掩盖了这项技术,使大家普遍对它缺乏了解,甚至包括好多老鸟。这个问题在开发用于发布的应用程序(原文为distributed applications,但好像译为“分布式应用”有点晦涩)时尤其严重,因为应用

superbigfollicle的博客 649

一些笔者原创或者搜集的 ABAP 小工具集合(一),持续更新中!!

每个报表短小精悍,拷贝到系统激活即可运行。不少报表脑洞大开。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2741

java classpath详解_java classpath深入详解(转)

设置类路径结构可通过对 JDK 工具使用 -classpath 选项(首选方法)或设置 CLASSPATH 环境变量来设置类路径。C:> jdkTool -classpath path1;path2... C:> set CLASSPATH=path1;path2...每个 path 以文件名或目录结尾,该文件名或目录取决于将类路径设置成什么:对于包含 .class 文件的 .zip ...

weixin_34439035的博客 963

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java的环境变量ClassPath详解

一点睛 该变量是用来告诉Java解释器(即java命令)在哪些目录下可找到所需要执行的class文件(即javac编译生成的字节码文件)。 ClassPath指定的是java加载类的路径。只有类在ClassPath中,java命令才能找到它,并解释它。 二实战——在命令行配置ClassPath 1将HelloWorld.class放到D盘下。 2在D盘下执行下面命令 D:\&...

实践求真知 7866

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java classpath 目录_关于JAVA项目中CLASSPATH路径详解

在dos下编译java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候。classpath就是存放.class等编译后文件的路径。javac:如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定的...

weixin_39640417的博客 1270

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java classpath顺序_关于JAVA项目中CLASSPATH路径详解

写的不错:http://blog.youkuaiyun.com/cheney521/article/details/8672066以下内容源于复制,把自己觉得不错的东西收集起来:在dos下编译java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候。classpath就是存放.class等编译后文件的路径。javac:如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该...

weixin_34434736的博客 577

java9 classpath_关于JAVA项目中CLASSPATH路径详解

自己看完总结:配置中"classpath: " 相当于输出目录,即编译后的class文件 所在目录;而 "file:" 是 启动目录而言,14 上服务器就是WEB-INF 下目录,本地项目就是项目根目录。关于JAVA项目中CLASSPATH路径详解分类: Java 2013-03-14 10:52 6845人阅读 评论(1) 收藏 举报在dos下编译java程序,就要用到classpath这个概念...

weixin_36481965的博客 427

Java项目classpath 详解 及 获取方法

在dos下编译java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候。classpath就是存放.class等编译后文件的路径。 javac: 如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面 加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候

u013036792的专栏 1005
上一篇: PHP如何调用JAVA 类库
下一篇: 消除包间的耦合关联
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值