Java 类路径和构建路径之间有什么区别
我对这两个术语感到困惑 另外,我应该如何在SpringMVC项目的src文件夹下创建一个文件? 当我使用文件对象创建时,它会在C:\SpringSourceTool内创建文件。。。 我想这是ClassPath,对吗Java 类路径和构建路径之间有什么区别,java,classpath,buildpath,Java,Classpath,Buildpath,我对这两个术语感到困惑 另外,我应该如何在SpringMVC项目的src文件夹下创建一个文件? 当我使用文件对象创建时,它会在C:\SpringSourceTool内创建文件。。。 我想这是ClassPath,对吗 如何获取应用程序的applicationcontext文件夹或根目录?每个Java项目都有自己的构建路径,指定编译项目所需的所有依赖项。这些依赖项可能来自工作区中的其他Java项目、Java archive.jar文件或包含.class文件的文件夹 在类路径环境中,您只需要指定.cl
如何获取应用程序的
applicationcontext
文件夹或根目录?每个Java项目都有自己的构建路径,指定编译项目所需的所有依赖项。这些依赖项可能来自工作区中的其他Java项目、Java archive.jar文件或包含.class文件的文件夹
在类路径环境中,您只需要指定.class文件(即jar、zip文件–在jar、zip文件中,您只能找到java类),即您正在帮助java虚拟机(JVM)查找java类文件
另外,我应该如何创建一个文件
在Spring MVC的src文件夹下
项目当我使用文件创建
对象,它在其中创建文件
C:\SpringSourceTool
这是JVM启动的地方,如果您想在其他地方创建文件,请从这里使用相对路径
有关更多信息,请参阅和。类路径在运行时用于加载已编译的类和资源
编译时使用生成路径查找生成项目所需的依赖项。生成路径用于生成应用程序。它包含编译应用程序所需的所有源文件和所有Java库
类路径用于执行应用程序。这包括运行java应用程序所需的所有java类和库。类路径是必需的,默认路径是
,如果java虚拟机找不到用户定义的路径,则使用该路径。(CLASSPATH
环境变量、-cp
标志或jar清单中的类路径:
属性)类路径是告诉(标准)Java编译器和Java运行时在何处查找已编译类的常规方法。它通常是JAR文件名和目录名的序列。编译器和运行时系统使用的类路径不必相同,但它们通常应该相同,特别是对于小型项目
Buildpath不是标准的Java术语。这是一个更丰富的术语,典型的IDE指定了组成应用程序的“项目”之间的关系。IDE使用它来计算用于编译Java代码的类路径和源路径,以及用于运行Java代码的类路径。IDE还使用构建路径来确定如何将代码及其依赖项打包为(例如)WAR文件
例如,项目的Eclipse构建路径包括它所依赖的其他项目,并列出项目包含/依赖的任何其他库JAR。它还列出了当前项目中下游项目可以依赖的包
(如果您在项目中使用Maven,IDE构建路径机制是POM文件中声明的依赖项的次要机制。例如,将Eclipse与m2eclipse一起使用,构建路径是从POM文件合成的。)我想在Andreas_D的回答中补充说明,IDE/编译器需要构建路径来定位代码使用的外部包和类。我们有时将这些称为“依赖性” 注意:这些外部包可能打包在一个压缩的.jar文件中,或者实际上,可能有几个jar文件打包在一个“库”中。一个或一组库通常构成一个“框架” 如果您的代码需要其他人编写的代码,您可以使用
import
命令将它们导入类中。但是,这个命令本身是不够的,因为编译器或IDE需要知道这些类的位置。您可以在生成路径中指定此项
另一方面,classpath
告诉运行应用程序的JVM在实际执行代码期间在何处查找依赖项
另请注意:
类路径供JVM使用
Buildpath供IDE/编译器使用,是从开发环境构造类路径的一种方法。当您通过IDE配置构建路径时,您也在项目中配置一个名为.classpath的隐藏文件。这用于在部署时向JVM提供类路径。类路径(): 与执行Java时的经典动态加载行为类似 程序,Java虚拟机查找和加载类(它 仅当类首次使用时加载该类的字节码)。这个 类路径告诉Java在文件系统中查找文件的位置 定义这些类 虚拟机按以下顺序搜索和加载类: 引导类:Java的基础类 平台(包括Java类库的公共类,以及 创建此库所需的私有类 功能性) 扩展类:扩展中的包 JRE或JDK的目录 jre/lib/ext/user-defined包和 图书馆 默认情况下,只有JDK标准API和 无需设置查找位置即可访问扩展包 他们。必须设置所有用户定义包和库的路径 在命令行中(或在与Jar文件关联的清单中 包含类) 简单地说,当程序运行时,JVM只根据需要加载类。当需要一个类时,JVM将依赖于类路径,它知道从哪里加载字节码(即:
.class
文件)
另一方面,构建路径通常由IDE使用,