在JDK8以前的版本中,需要通过配置环境变量`CLASSPATH`来指定Java程序所依赖的类库的位置,否则程序无法找到相关的类库。这是因为在早期的Java版本中,Java虚拟机(JVM)不会自动查找类库,而需要手动设置类路径。
然而,从JDK9开始,Java平台已经引入了一个模块化系统(Java Platform Module System),它可以让Java程序更加高效、安全地运行,同时也解决了早期版本中需要配置CLASSPATH的问题。模块化系统可以将Java程序和所依赖的类库分成一系列模块,每个模块都定义了自己的接口、实现和依赖关系。在编译和运行Java程序时,模块系统会自动分析程序所依赖的模块,并加载它们,无需手动设置类路径。
因此,在JDK11或17中,不再需要手动配置CLASSPATH环境变量。当需要使用第三方库时,可以通过Maven等构建工具自动下载相关的依赖库,并将其打包到Java应用程序中,或者使用Java 9之后引入的jlink工具,将Java应用程序和其所依赖的模块打包成可执行文件,从而避免了手动配置CLASSPATH的繁琐过程。