了解如何在 Java 中将类路径设置为环境变量并作为命令行参数传递。在任何 Java 应用程序的运行期间,CLASSPATH是一个参数,它告诉 JVM 在哪里查找类和包。
.
” (dot)
,表示仅在当前目录中搜索依赖项。CLASSPATH
环境变量或-cp
命令行开关会覆盖此值。Java 类路径分隔符是特定于操作系统的。
Windows –;
[分号]
Linux/Unix –:
[冒号]
CLASSPATH
为环境变量当您设置了应用程序运行时始终需要的 jar 文件的位置后,最好将它们添加到机器的环境变量'CLASSPATH'
中。
在应用程序运行期间,应用程序类加载器将始终扫描此变量中指定路径的 jar 文件和类。
要设置CLASSPATH
环境变量,请在您的机器中找到用户环境变量的位置并添加存储 Jar 文件的所有路径。在不同的两个文件夹、jar 文件或类之间使用分隔符。
您可以通过以下方式找到用户环境变量窗口-
CLASSPATH
环境变量并选择它。点击编辑。如果CLASSPATH
环境变量不存在,单击New
。如果您是第一次创建CLASSPATH ,则需要在Windows 10中指定变量名称的名称。使用(点)表示当前目录。'.'
使用-classpath
参数从命令提示符/控制台设置类路径。使用下面给定的命令为不同的要求设置类路径。
假设我们有一个名为dependency
JAR 文件和其他类的文件夹。
2.1。在类路径中添加单个 jar 文件
下面的语法示例将在 classpath 中添加单个 jar 文件。
//WINDOWS
$ set CLASSPATH=.;C:\dependency\framework.jar
//Linux/Unix
$ export CLASSPATH=.:/dependency/framework.jar
|
2.2. 在类路径中添加多个 jar 文件
下面的语法示例将在 classpath 中添加多个 jar 文件。为此,只需使用操作系统的分隔符(;
或:
)作为为 CLASSPATH 指定的位置之间的分隔符。
要添加目录中存在的所有 JAR 文件,请使用通配符( '*'
)。
//WINDOWS
$ set CLASSPATH=C:\dependency\framework.jar;C:\location\otherFramework.jar
$ set CLASSPATH=C:\dependency\framework.jar;C:\location\*.jar
//Linux/Unix
$ export CLASSPATH=/dependency/framework.jar:/location/otherFramework.jar
$ export CLASSPATH=/dependency/framework.jar:/location/*.jar
|
2.3. 将多个类添加到类路径
很多时候,您可能还需要在类路径中添加单独的类。为此,只需添加 classfile 所在的文件夹。例如,假设您想要包含在类路径.class
中的文件夹中有五个文件。location
//WINDOWS
$ set CLASSPATH=C:\dependency\*;C:\location
//Linux/Unix
$ export CLASSPATH=/dependency/*:/location
|
作为最佳实践,始终将所有 JAR 文件和应用程序类组织在一个根文件夹中。这可能是应用程序的工作区。
2.4. 清除类路径
如果您的 CLASSPATH 环境变量设置为不正确的值,那么您可以取消设置 CLASSPATH 并为其指定空值。
set CLASSPATH=
|
除了将类路径设置为环境变量之外,您还可以在使用–classpath
选项或–cp
选项启动应用程序时将其他类路径传递给 Java 运行时。
使用.
(点)将当前路径包含到.class
生成文件的类路径中。
$ javac –classpath C:\dependency\framework.jar MyApp.Java
$ java –classpath .;C:\dependency\framework.jar MyApp
|
CLASSPATH
价值任何时候您希望验证CLASSPATH
变量中的所有路径条目,都可以使用echo命令进行验证。
//Windows
c:/> echo %CLASSPATH%
//Linux/Unix
$ echo $CLASSPATH
|
如果 CLASSPATH 未设置,您将收到CLASSPATH: Undefined variable error (Solaris or Linux) 控制台或在 Windows 命令提示符中打印%CLASSPATH% 。
快乐学习!!