设置类路径

结构

可通过对JDK工具使用-classpath选项(首选方法)或设置CLASSPATH环境变量来设置类路径。

C:>jdkTool-classpathpath1;path2...

C:>setCLASSPATH=path1;path2...

每个path以文件名或目录结尾,该文件名或目录取决于将类路径设置成什么:

对于包含.class文件的.zip或.jar文件,路径以.zip或.jar文件名结尾。

对于未命名包中的.class文件,路径以包含.class文件的目录结尾。

对于已命名包中的.class文件,路径以包含“root”包(完整包名中的第一个包)的目录结尾。

用分号来分隔多个项目。使用set命令时,需要省略等号两边的空格(=)。其中jdkTool可以为java、javac、javadoc,等等。有关详细列表,参见JDK开发工具。

说明

类路径告诉Java应用程序去哪里查找第三方和自定义类--即不是Java扩展或Java平台一部分的类。在JDK1.2中,JVM和其他JDK工具通过依次搜索平台库、库扩展和类路径来查找类(有关搜索策略的详细信息,参见如何查找类)。

多数应用程序的类库都会充分利用扩展机制。因此,只有想要加载某个类库(a)未位于当前目录或其分枝包中且(b)未位于扩展机制所指定的位置时,才需设置类路径。

如果用户是从旧版本JDK升级而来,则启动设置可能包括不再需要的CLASSPATH设置。这时应该删除任何非应用程序特定的设置。有些使用Java虚拟机的第三方应用程序可能修改CLASSPATH环境变量以包括它们使用的类库。这种设置可以保留。

可通过在调用JVM或其他JDK工具时使用Java工具的-classpath选项改变类路径(例如:java-classpath...)。这是改变类路径的首选方法。还可通过使用CLASSPATH环境变量改变类路径。

注意:JDK1.2缺省类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行开关将覆盖缺省值,因而如果想要在搜索路径中包括当前目录,则必须在新设置中包括“.”。

类可以存储在目录(文件夹)或归档文件(例如classes.zip或classes.jar)中。有关归档文件的详细信息和类路径的工作原理,参见本文档最后的理解类路径和包名。

重要说明:JDK旧版本在缺省类路径中还包括<jdk-dir>/classes项。该目录仅供JDK使用,且不用于应用程序类。应用程序类应该放置在JDK外部的目录。这样,安装新JDK时不必需要重新安装应用程序库。为了与旧版本的兼容性,使用<jdk-dir>/classes目录作为类库的应用程序在当前版本中仍能运行,但不能保证在以后的版本中它们还能运行。

使用Java工具的-classpath选项

Java工具java、jdb、javac和javah具有-classpath选项,在工具运行时它将取代缺省类路径或由CLASSPATH环境变量所指定的类路径。这是改变类路径设置的推荐方法,因为这样每个应用程序可具有它所需的类路径而又不会干扰其他应用程序。

运行时工具java和jdb还具有-cp选项。该选项是-classpath的缩写。

对于非常特殊的情况,java和javac都具有开关,使得可改变它们使用的路径以查找它们自己的类库。但是,绝大多数用户从来都不会用到这些开关。

时间: 2024-12-22 23:41:29

设置类路径的相关文章

管理Java类路径(Windows)

类路径可以连接 Java 运行库和文件系统.它定义编译器和解释器应该在何处查找要加载的 .class 文件.它的基本思想是:文件系统的层次结构反映了 Java 包的层次结构,而类路径则定义了文件系统中的哪个目录可以作为 Java 包层次结构的根. 遗憾的是,通常文件系统非常复杂并依赖于平台,而且和 Java 包也不能很好地匹配.尤其是在 Windows 环境中更是如此.Java 是一些 Unix 高手设计的,因而从很多方面来说,这也就意味着它无法很好地与 Windows 约定同步.这样一来,不论

管理Java类路径(UNIX和Mac OS X)

类路径可以连接 Java 运行库和文件系统.它定义编译器和解释器应该在何处查找要加载的 .class 文件.它的基本思想是:文件系统的层次结构反映了 Java 包的层次结构,而类路径则定义了文件系统中的哪个目录可以作为 Java 包层次结构的根. 遗憾的是,通常文件系统非常复杂并依赖于平台,而且和 Java 包也不能很好地匹配.这样一来,不论是新用户还是资深 Java 程序员都深感类路径的棘手.没错,它的确不是 Java 平台好的一面,它让您到了下班的时候还在忙于调试一个顽固的小问题. 当然采用

Eclispe设置Workspace路径

  首次启动Eclipse时, 会弹出设置Workspace路径.设定好路径后, 如果勾选了设置为默认工作空间, 那么以后再启动时就不会有提示, 直接进入默认工作空间. 有3中方法可以更改Workspace的路径设置. 1.修改偏好设置 启动Eclipse后, 打开"Window -> Preferences -> General -> Startup and Shutdown", 点Workspaces, 然后勾选"Prompt for workspace

Java中获取类路径classpath的简单方法(推荐)_java

如下所示: <SPAN style="FONT-SIZE: 18px"> System.out.println("++++++++++++++++++++++++"); String path = System.getProperty("java.class.path"); String path2 = FreeMarkerWriter.class.getProtectionDomain().getCodeSource().getLo

J2EE中获得web路径和类路径总结

以工程名为TEST为例 一.取得Web中的路径 ①包含工程名的当前页面全路径request.getRequestURI()  /TEST/test.jsp ②工程名:request.getContextPath()  /TEST ③当前页面所在目录下全名称request.getServletPath()  若页面在jsp目录下/TEST/jsp/test.jsp ④页面所在服务器的全路径request.getSession().getServletContext().getRealPath("a

php-PHP:用httpd.conf设置虚拟路径,为什么我这样作了之后仍不能访问呢

问题描述 PHP:用httpd.conf设置虚拟路径,为什么我这样作了之后仍不能访问呢 直接在浏览器中访问localhost/demo,则会自动显示/htdocs/demo下的index.html页面 下面修改httpd.conf,为该工程配置虚拟路径,如下 LoadModule rewrite_module modules/mod_rewrite.so <IfModule aliad_module> Alias /test "/usr/local/apache2/htdocs/de

ORA-00257: archiver error --11GR2 RAC 设置归档路径和开启flashback

ORA-00257: archiver error --11GR2 RAC 设置归档路径和开启flashback [sql] view plaincopyprint?  <wbr> 开启归档和flashback,现在对于11g来说开启RAC和单实例没有什么差别,测试了这么的一个例子,   需求:把归档日志存放到ASM上,orcl1的归档存放在+DATA/ARC1下,orcl2的归档放到+DATA/ARC2下.   Flashbask area是需要单独的一个diskgroup,所以特地给他创建

exception-求帮助很急很急!!!启动maven项目是说我找不到bean里类路径的类

问题描述 求帮助很急很急!!!启动maven项目是说我找不到bean里类路径的类 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanDefinitionStoreException: Failed to loa

YourSQLDba设置共享路径备份

 YourSQLDba可以将数据库备份到网络路径(共享路径),这个也是非常灵活的一个功能,以前一直没有使用过这个功能,最近由于一个需求,于是我测试了一下YourSQLDba备份到网络路径,中间遇到了一些问题,遂整理如下.   测试环境:     操作系统:  Windows Server Standard 2012   数据库版本:  SQL SERVER 2014   1:设置共享路径权限       这一步很简单,也非常好理解.共享路径需要给某些特定用户才能访问,例如某个域账号.在此略过.