了解如何在 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参数从命令提示符/控制台设置类路径。使用下面给定的命令为不同的要求设置类路径。
假设我们有一个名为dependencyJAR 文件和其他类的文件夹。
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% 。
快乐学习!!