导航:首页 > 编程语言 > javaclasspath运行

javaclasspath运行

发布时间:2022-09-27 04:06:12

‘壹’ java的环境变量classpath该怎么设置呢

java的环境变量classpath的设置方法:

1、在我的电脑界面,鼠标右键点击“此电脑”。

‘贰’ 为什么java调用外部类时编译和运行都需要使用-classpath添加路径

javac -classpath的使用:
javac:如果当前你要编译的Java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定的路径下查找引用类。
(1).绝对路径:javac -classpath c:/junit3.8.1/junit.jar Xxx.java

(2).相对路径:javac -classpath ../junit3.8.1/Junit.javr Xxx.java

(3).系统变量:javac -classpath %CLASSPATH% Xxx.java (注意:%CLASSPATH%表示使用系统变量CLASSPATH的值进行查找,这里假设Junit.jar的路径就包含在CLASSPATH系统变量中)

‘叁’ 请问为什么java已经设置好PATH和CLASSPATH了,为什么在cmd中运行时还是要先进入当前目录呢

classpath只能指定class文件,不能指定java文件,所以编译的时候是要切换到java文件所在的目录的

‘肆’ 环境变量classpath不设置java可以运行吗

可以啊,不过麻烦的就是如果你用java 命令运行的话,你得在cmd窗口中把路径切换到jdk解压后的文件路径,然后用 java 全路径的java文件名称 这样去运行,如果是用Eclipse的话,可以在首选项中配置,打开首选项页面,在搜索框输入jre,就可以找到配置的地方了

‘伍’ JAVA 的classpath

classpath指的是Java进行编译,运行时需要用到的jar包位置.
一般设置为classpath= ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar"就可以了
注意是 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
最前面有个点,不要把点漏了。

下面是网上摘的一些比较好的讲解,希望对你有所帮助:
CLASSPATH环境变量。作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。

CLASSPATH是什么?它的作用是什么?
它是javac编译器的一个环境变量。
它的作用与import、package关键字有关。
当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:\jdk\ 目录下,你得把c:\jdk\这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java\util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!
CLASSPATH有点像c\c++编译器中的INCLUDE路径的设置哦,是不是?当c\c++编译器遇到include <iostream>这样的语句,它是如何运作的?哦,其实道理都差不多!搜索INCLUDE路径,检视文件!
当你自己开发一个package时,然后想要用这个package中的类;自然,你也得把这个package所在的目录设置到CLASSPATH中去!
CLASSPATH的设定,对JAVA的初学者而言是一件棘手的事。所以Sun让JAVA2的JDK更聪明一些。你会发现,在你安装之后,即使完全没有设定CLASSPATH,你仍然能够编译基本的JAVA程序,并且加以执行。

‘陆’ java中如何设置classpath.

工具:电脑

步骤:

1、点击 此电脑,然后选择属性

‘柒’ ClassPath详解

使用JAVA开发或运行基于JAVA编写的程序,在安装JDK之后,一般需要配置如下几条环境变量(以Windows为例):

那么,它们的作用是什么呢?
JAVA_HOME 该变量指明了JAVA运行环境的安装路径。它和JAVA之间,除了字面相似度高外,没有什么联系。之所以配置该变量大约有三点原因:

如果确定没有应用依赖该变量,甚至可以不配置。但基于前两个优点,一般不建议这么做。

CLASSPATH 该变量指明JAVA运行环境JRE搜索 .class 文件的路径。

PATH 该变量指明操作系统查找可执行程序的路径。该变量由操作系统使用,配置 %JAVA_HOME%in 以便快捷访问该目录下如 java 、 javac 等命令行和其他JDK工具。

明白了这三个变量的用途,可知对于JAVA程序最重要的是 ClassPath 环境变量,因为它指明JAVA程序搜索第三方和用户自定义类的路径,如果不正确配置,JAVA程序将不能正常运行。
那么如何正确配置 ClassPath 呢?有如下四种方式:

其中第三种方式和第四种方式可独自配置单个JAVA应用而不影响其他JAVA应用,官方推荐使用第三种方式配置 ClassPath 。具体的配置方法如开篇所述,形式类似如下:

每个路径之间使用英文分号‘;’进行分隔(linux环境下则使用英文冒号‘:’分隔)。这个例子中的单个路径都是文件夹,除此之外,单个路径还可以是特定的jar包和zip包路径。假如一个类文件的路径如下

如果该类位于 com.zdb 包下,那么正确设置的 ClassPath 为:

如果该类引用了如下的第三方jar包:

此时 ClassPath 为:

如果该类引用了多个第三方jar包:a.jar b.jar c.jar,此时 ClassPath 为:

也可以使用通配符‘*’表示为:

需要注意的是:

针对第二点,上一个例子在程序运行时,使用系统属性 java.class.path 获得的类路径可能为(注意abc的顺序已改变):

这个顺序对于JVM加载类颇为重要。假设特殊情况下,b.jar和c.jar中都含有同包名且同类名的一个类,那么JVM当查找到c.jar时发现该类后,将不会继续查找b.jar。如果JAVA应用依赖于jar包的加载顺序,那么需要明确指定jar包顺序,而不能使用通配符。

针对第三点, manifest 文件配置类路径和前三种方式稍有不同,形式为:

注意到,使用空格分隔各个路径而不是分号‘;’或冒号‘:’。另外,当类路径过多而需要换行时,从第二行开始,必须以两个空格开头。

附:
JAVA类路径官网介绍
Manifest文件类路径说明
一个jar包加载顺序引发的BUG

‘捌’ java中的 classpath有什么用,我配完环境,没设置这个变量,程序也能运行啊! 求大神详细解释一下!

classpath是java环境变量的路径,它的作用其实就是设定java开始import包时所需要的路径
当你在进行java工程是会导入许多包,如:import java.util.*。举例说明,如果import java.util这个包在C盘的JDK目录下,那么就要把"C:\JDK"设到classpath里面去。当你在import java.util.*时,这句语句就会去找寻classpath下是否有java.util存在,如果没有就会报错。
与C语言进行比较的话,它的作用可类似于include。
没设置classpath就能跑程序的原因是安装jdk时会把java,javaw等放到system32目录去,jre也会有一些在注册表里,所以可以运行java,但不能用javac(因为它是java编译器,在jdk里),eclipse会自动找到jdk的home,所以才可以用编译和运行,IDE基本都不用配环境变量,不过离开了IDE就无法在cmd里javac

‘玖’ java -classpath xxx 运行问题

估计是你的Ccc.jar没找到,用绝对路径试一下。。

阅读全文

与javaclasspath运行相关的资料

热点内容
毛选pdf 浏览:657
linuxexecl函数 浏览:725
程序员异地恋结果 浏览:372
剖切的命令 浏览:226
干什么可以赚钱开我的世界服务器 浏览:288
php备案号 浏览:988
php视频水印 浏览:165
怎么追程序员的女生 浏览:486
空调外压缩机电容 浏览:78
怎么将安卓变成win 浏览:457
手机文件管理在哪儿新建文件夹 浏览:724
加密ts视频怎么合并 浏览:775
php如何写app接口 浏览:804
宇宙的琴弦pdf 浏览:396
js项目提成计算器程序员 浏览:944
pdf光子 浏览:834
自拍软件文件夹名称大全 浏览:328
程序员留学移民 浏览:52
梁中间部位箍筋加密区 浏览:119
频谱分析pdf 浏览:752