类路径及路径如何正确的在Java项目中使用

介绍

这期内容当中小编将会给大家带来有关类路径及路径如何正确的在Java项目中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

<强> javac类路径的使用:

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

(1)。绝对路径:javac类路径c:/junit3.8.1/junit.jar ,Xxx.java

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

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

<强> javac绝对路径的使用:

javac:假设你要编译的类文件名叫:HelloWorld.java,其完全路径为:D:/java/HelloWorld。java。但你所在的当前目录是:C:/文档和设置/peng>。如果想在这里执行编译,会有什么结果呢?

(1)。C:/文档和设置/peng>javac HelloWorld。java这时编译器会给出如下的错误提示信息:

这是因为默认情况下javac是在当前目录下查找类文件,很明显这个路径不是我们存放类文件的地方,所以就会报错了

(2)。C:/文档和设置/peng> javac D:/java/HelloWorld。java

所以,只要你执行javac命令的目录不是类文件存放的目录,你就必须在javac命令中显式地指定类文件的路径。

<强> java类路径的使用:

java:假设我们的类路径设置为:D:/彭/java/pro,在该目录下有三个文件:HelloWorld。java/HelloWorldExtendsTestCase/HelloWorldExtendsHelloWorld。这三个文件的类声明分别如下:

HelloWorld。java: HelloWorld
HelloWorldExtendsHelloWorld公共类。java:公共类HelloWorldExtendsHelloWorld HelloWorld
HelloWorldExtendsTestCase延伸。java:公开课HelloWorldExtendsTestCase延伸junit.framework.TestCase

假设我们已经按照上面关于javac类路径和javac绝对路径的使用,顺利地完成了三个文件地编译。现在我们在C:/文档和设置/peng>目录下执行这三个. class文件

(1)。C:/文档和设置/peng> java HelloWorld 

,,,,,Hello World

可以看到执行成功。为什么我们在C:/文档和设置/peng>执行命令,JVM能够找到D:/彭/java/pro/HelloWorld。类文件呢?这是因为我们配置了系统变量类路径,并且指向了目录:D:/彭/java/pro。所以JVM会默认去该目录下加载类文件,而不需要指定. class文件的绝对路径了。

(2)。C:/文档和设置/peng> Java HelloWorldExtendsHelloWorld

,,,,,,Hello World

可以看到执行成功了.HelloWorldExtendsHelloWorld继承了HelloWorld类,所以在执行时JVM会先查找在类路径下是否存在一个HelloWorld。类文件,因为我们已经成功编译了HelloWorld类了,所以可以成功执行HelloWorldExtendsHelloWorld.class

(3)。C:/文档和设置/peng> java HelloWorldExtendsTestCase
,,,,异常的线程“main". lang。NoClassDefFoundError: junit/框架/TestCase

可以看到程序抛出异常了,提示找不到junit.framework.TestCase文件。为什么同样在:HelloWorldExtendsHelloWorld/彭/java/pro下。类就可以成功执行,而这个就不行了呢?这是因为:junit.framework.TestCase.class文件并不存在于当前目录下,所以为了能够让程序成功运行,我们必须通过指定类路径的方式,让JVM可以找到junit.framework.TestCase这个类,如(4):

(4)。C:/文档和设置/peng> java类路径% CLASSPATH % HelloWorldExtendsTestCase

,,,,,Hello World

<>强总结:

(1)。何时需要使用类路径:当你要编译或执行的类引用了其它的类,但被引用类的. class文件不在当前目录下时,就需要通过类路径来引入类

(2)。何时需要指定路径:当你要编译的类所在的目录和你执行javac命令的目录不是同一个目录时,就需要指定源文件的路径(类路径是用来指定. class路径的,不是用来指定. Java文件的路径的)

上述就是小编为大家分享的类路径及路径如何正确的在Java项目中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

类路径及路径如何正确的在Java项目中使用