java classpath设置_Java CLASSPATH设置

Java CLASSPATH设置

CLASSPATH: CLASSPATH是一个环境变量,Application ClassLoader使用它来定位和加载.class文件。 CLASSPATH定义路径,以查找不是扩展或Java平台一部分的第三方和用户定义的类。设置CLASSPATH时,请包括所有包含.class文件和JAR文件的目录。

如果满足以下条件,则需要设置CLASSPATH:

您需要加载当前目录或任何子目录中不存在的类。

您需要加载不在扩展机制指定位置的类。

CLASSPATH取决于您所设置的CLASSPATH。 CLASSPATH在末尾具有目录名或文件名。以下几点描述了CLASSPATH的结尾。

如果是JAR或zip,则该文件包含类文件,CLASSPATH以zip或JAR文件的名称结尾。

如果将类文件放在未命名的程序包中,则CLASSPATH以包含类文件的目录结尾。

如果将类文件放在命名包中,则CLASSPATH的目录以完整包名包含根包,该根包是完整包名中的第一个包。

CLASSPATH的默认值为点(.)。这意味着仅搜索当前目录。设置CLASSPATH变量或使用-classpath命令(简称-cp)时,CLASSPATH的默认值将被覆盖。如果要在搜索路径中包含当前目录,请在新设置中添加点(.)。

如果CLASSPATH找到了当前目录中存在的类文件,则它将加载该类

如果要设置多个类路径,则需要用分号(;)分隔每个CLASSPATH,并使用它,而不管同一个目录中是否存在相同的名称类。

使用JVM的第三方应用程序(MySQL和Oracle)可以修改CLASSPATH环境变量以包括它们使用的库。这些类可以存储在目录或归档文件中。 Java平台的类存储在rt.jar中。

设置CLASSPATH的方法有两种: 通过命令提示符或通过设置环境变量。

让我们看看如何设置MySQL数据库的CLASSPATH:

步骤1:单击Windows按钮并选择"控制面板"。选择系统。

b8b35e3f22cba1683f11587ca64da203.png

步骤2:单击

高级系统设置。

5aea936798cbbdfa10164347baeb836e.png

第3步:。将打开一个对话框。单击环境变量。

23588039b982e84824fddc3b2a64733c.png

步骤4:如果CLASSPATH已存在于系统变量中,请单击"编辑"按钮,然后在末尾添加分号(;)。粘贴MySQL-Connector Java.jar文件的路径。

如果系统变量中不存在CLASSPATH,请单击"新建"按钮,然后将变量名输入CLASSPATH,将变量值输入到

C。 : \ Program Files \ Java \ jre1.8 \ MySQL-Connector Java.jar;。;

记住: 放入;。;在CLASSPATH的末尾。

f6485c5ba7a91c3d8261fc1e3603d1d8.png

PATH和CLASSPATH之间的区别

PATH

CLASSPATH

PATH是一个环境变量。

CLASSPATH也是一个环境变量。

操作系统使用它来查找可执行文件(.exe)。

Application ClassLoader使用它定位.class文件。

您需要包括包含.exe文件的目录。

您需要包括所有包含.class和JAR文件的目录。

PATH环境变量一旦设置,就不能覆盖。

可以使用javac和java命令的命令行选项-cp或-CLASSPATH覆盖CLASSPATH环境变量。

如何在Windows中使用命令提示符设置CLASSPATH

在命令提示符中键入以下命令,然后按Enter。

set CLASSPATH=%CLASSPATH%;C:\Program Files\Java\jre1.8\rt.jar;

在上面的命令中,该集合是内部DOS命令,允许用户更改变量值。 CLASSPATH是变量名。用百分号(%)括起来的变量是现有的环境变量。分号是分隔符,在(;)之后是rt.jar文件的路径。

ext文件夹在Java中的工作方式

ext目录的工作原理类似于CLASSPATH。 ext目录是类加载机制的一部分。 ext目录的JAR中可用的类可用于Java应用程序。

下表说明了CLASSPATH和扩展机制之间的主要区别:

特征

CLASSPATH

扩展机制

类加载顺序

在加载引导程序和扩展名之后加载CLASSPATH。

ext会在引导加载后但CLASSPATH加载之前加载。

范围

这是特定于应用程序的。主机上的所有JRE都是CLASSPATH环境变量。

所有JVM都在特定的JRE java.ext.dirs中运行。

包裹名称

java.class.path用于查找包含类文件的目录和JAR归档文件。

java.ext.dirs用于指定扩展机制在何处加载类。

规格

由名称指定,包括extension.jar和包含.class文件的目录。

指定目录中的所有JAR文件都已加载。

该机制将从扩展目录中拾取所有.jar文件,即使该文件不具有.jar扩展名。这样做的实现是,如果可以更改放置在类路径目录中的jar的名称,使其具有.jar以外的扩展名。通配符(*)不起作用。此技术不适用于扩展目录。

让我们通过示例了解执行过程。

A.java

public class A

{

public String toString()

{

return "hello";

}

}

B.java

public class B

{

public static void main(final String[] args)

{

System.out.println(new A());

}

}

编译A.java文件。我们将已编译的A.class文件存档到A.jar中。将此JAR文件放置到已编译的B.class文件之外的另一个目录中。

为演示类路径的使用,我们将A.jar文件放置在目录C:\JavaPrograms中,并将通过以下方式访问该JAR: 通配符(*)供B使用。

我们发现,当我们从当前目录中删除A.class时,B仍然可以加载A.class。 Java启动器已明确寻找C: \ JavaProgram。也可以在不存在相同目录和明确的类路径规范的情况下加载该类。

使用扩展机制通常被称为好处,因为所有使用该JRE的应用程序都可以无需在类路径上显式指定它们即可看到相同的类。

如果在同一CLASSPATH引用的目录中将A.jar的名称更改为A.backup,会发生什么情况。当我们这样做时会遇到NoClassDefFoundError,因为CLASSPATH引用没有.jar扩展名。

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

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

相关文章

java单例方法_Java单例模式

单例模式,是特别常见的一种设计模式,因此我们有必要对它的概念和几种常见的写法非常了解,而且这也是面试中常问的知识点。所谓单例模式,就是所有的请求都用一个对象来处理,如我们常用的Spring默认就是单例的&#xff0…

process java类_Java中Process类的用途是什么?

Java.lang.Process是Object类的子类,可以描述由Runtime类的exec()方法启动的进程。 进程和对象控制进程并获取有关该进程的信息。 Process类是抽象类,因此无法实例化。 Process类的重要方法是Destroy()、exitValue()、getErrorStream()、waitFor()、getI…

cscript 执行代码_WSCRIPT与CScript区别

WSCRIPT与CScript区别窗口中运行,WSCRIPT;命令行中运行,CScrip;cscript因为把输出放进了控制台 所以可以对它重定向 方便程序调用wscript直接用窗口输出 适合调试程序和编写小工具 在windows下不用cmd的话cscript的输出会一闪而过 大多数情况下&#xff…

java虚拟机内存模型种类_深入理解volatile类型——从Java虚拟机内存模型角度

一、前言在java多线程编程中,volatile可以用来定义轻量级的共享变量,它比synchronized的使用成本更低,因为它不会引起线程上下文的切换和调度。所谓知己知彼、百战不殆。本文从JVM内存模型角度,探讨volatile的实现原理。在明白了v…

寒武纪芯片创始人:要让AI芯片计算效率提高一万倍

来源: 传感器技术 概要:随着利好政策的不断出台以及行业的持续发展,芯片相关产业站上风口。 随着利好政策的不断出台以及行业的持续发展,芯片相关产业站上风口。而AI芯片独角兽公司寒武纪,也即将入驻雄安新区。e公司记…

SQL模糊查询语句和Escape转义字符

来源:http://www.cnblogs.com/amylis_chen/archive/2010/07/16/1778921.html 通配符 描述 示例 % 包含零个或更多字符的任意字符串。 WHERE title LIKE %computer% 将查找处于书名任意位置的包含单词 computer 的所有书名。 _(下划线) 任何…

JAVA格式化同一天时间间隔_java中时间格式化怎么去时间间隔值

java中时间格式化怎么去时间间隔值关注:61 答案:2 mip版解决时间 2021-01-12 11:52提问者眼泪↓流到叻心里2021-01-11 20:30比如2015-02-03 13:25:55 与 2015-02-04 15:25:55 之间的时间间隔怎么获取最佳答案二级知识专家守給你的承諾2021-01-11 21:46转换成秒-相减取绝对值。…

超美国11倍!麦肯锡176页报告解读数字中国领先全球的秘密

来源:智东西 概要:到2030年,数字化将转变并创造高达45%的行业总收入。 12月4日,麦肯锡发布了长达176页的中国数字经济报告。 报告显示,中国电子商务(2016年交易额占全球40%)和数字支付&#xf…

SQL Server查询中特殊字符的处理方法

来源:http://database.51cto.com/art/201009/227766.htm SQL Server查询中,经常会遇到一些特殊字符,比如单引号“”等,这些字符的处理方法,是SQL Server用户都应该需要知道的。 我们都知道SQL Server查询过程中&…

JAVA发送邮件工具包_java mail 发送邮件工具包

Java测试发送邮件的时候经常出现异常,检查多次账户名密码无误后,依然出现如下图错误: 之前不清楚,后面在网上得到提醒,我们所使用的smtp服务器使用的密码与我们自身登录网页端邮箱的密码是不一样的,以163邮…

卡内基梅隆大学提出基于学习的动作捕捉模型,用自监督学习实现人类3D动作追踪

原文来源:Cornell University Library 作者:Hsiao-Yu Fish Tung、Hsiao-Wei Tung、Ersin Yumer、 Katerina Fragkiadaki 「雷克世界」编译:我是卡布达、哆啦A亮 目前,从单摄像头中进行动作捕捉(motioncapture&#xff…

session过期时间控制的一些常用方法

来源:http://blog.csdn.net/luo_yifan/article/details/4659392 在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户没有使用系统一定时间后,自动退出登录,销毁session。 具体设置很简单&#xff1a…

java 昵称1到32位字符_Java期末考试编程题复习

在程序中定义Person类&#xff0c;为该类编写如下字段、构造器、访问器、修改器和相应的其他方法。(20分)<1>在Person类中定义两个字段&#xff1a; 私有访问权限&#xff0c;类型为String的name字段&#xff1b; 私有访问权限&#xff0c;类型为int的age字段。<2>…

AI智商评测标准专家研讨会邀请,2018年12月20日北京

21世纪以来&#xff0c;人工智能领域陆续爆发很多重要事件。其中最吸引人们眼球的&#xff0c;当属2016年战胜了人类围棋冠军并开始能够从0自我学习的AlphaGo。 10月26日&#xff0c;软银CEO孙正义在沙特阿拉伯举行的未来投资计划大会上称&#xff0c;未来30年内AI的智商&#…

java代码pingip_java程序ping IP

package com.fdway.tool;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;/**** ping IP地址检查IP地址能否可用**/public class PingIPUtil {public static void main(String[] args) throws IOExce…

HTML 显示特殊字符时转义操作

/*** 转换 HTML 特殊字符*/public static String escape( String s ){if( StringUtils.isBlank( s ) ){return " ";}StringBuilder sb new StringBuilder( s.length() );for( int i 0 ; i < s.length() ; i ){char c s.charAt( i );switch( c ){case < : sb…

开源神经网络框架Caffe2全介绍

本文作者吴逸鸣&#xff0c;整理自作者在GTC China 2017大会上的演讲&#xff0c;首发于作者的知乎文章。 我个人认为这是一份很值得分享的资料&#xff0c;因为 这应该是第一次使用全中文来讲解Caffe2和FB的AI应用的演讲 观看这次演讲不需要机器学习&#xff0f;神经网络&…

JAVA设置jscrollbar大小_JScrollBar垂直/水平设置问题 – Java Swing

下面是我上面提到的一个小的可编辑代码片段.我同意camickr你不应该使用绝对定位而是使用布局管理器.如果你绝对需要为JTextField提供一个水平滚动条,那么让它工作的一种方法就是让它始终显示,使用允许这个的JScrollPane构造函数.即,JScrollPane inputPane new JScrollPane(inp…

TPTP(Java Profiling Tools插件)对Java程序进行性能测试

来源&#xff1a;http://blog.csdn.net/wsj19890201/article/details/5492517 TPTP下载地址&#xff1a;http://www.eclipse.org/tptp/ 概述&#xff1a;Eclipse Test & Performance Tools Platform (TPTP) 的性能测试工具 (Profiling tool)能够用于优化eclipse插件应用、…

AI指数评论:提防“路灯谬误”,开启全球多方对话

来源&#xff1a;亿欧 概要&#xff1a;技术的单点突破&#xff0c;资本市场的多级繁荣&#xff0c;诸如此类的话题充斥着过去两到三年。然而&#xff0c;在AI时代思考AI&#xff0c;我们需要更宏大的世界观。 技术的单点突破&#xff0c;资本市场的多级繁荣&#xff0c;诸如此…