classpath_classpathxmlapplicationcontext - CSDN
classpath 订阅
Classpath设置的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。 展开全文
Classpath设置的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。
信息
外文名
Classpath
设置方法
在系统变量中新增Classpath变量
用    途
告诉Java执行环境
中文名
类路径
CLASSPATH简介
设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。
收起全文
精华内容
参与话题
  • java项目里classpath具体指哪儿个路径

    万次阅读 多人点赞 2019-01-17 16:32:30
    一、classpath路径指什么  只知道把配置文件如:mybatis.xml、spring-web.xml、applicationContext.xml等放到src目录(就是存放代码.java文件的目录),然后使用“classpath:xxx.xml”来读取,都放到src目录准没...

    一、classpath路径指什么

        只知道把配置文件如:mybatis.xml、spring-web.xml、applicationContext.xml等放到src目录(就是存放代码.java文件的目录),然后使用“classpath:xxx.xml”来读取,都放到src目录准没错,那么到底classpath到底指的什么位置呢?
       
     

    src路径下的文件在编译后会放到WEB-INF/classes路径下吧。默认的classpath是在这里。直接放到WEB-INF下的话,是不在classpath下的。用ClassPathXmlApplicationContext当然获取不到。
    如果单元测试的话,可以在启动或者运行的选项里指定classpath的路径的。
    用maven构建项目时候resources目录就是默认的classpath
    classPath即为java文件编译之后的class文件的编译目录一般为web-inf/classes,src下的xml在编译时也会复制到classPath下
    ApplicationContext ctx = new ClassPathXmlApplicationContext("xxxx.xml");  //读取classPath下的spring.xml配置文件
    ApplicationContext ctx = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/xxxx.xml");   //读取WEB-INF 下的spring.xml文件

     


     
      

     

     

    二、web.xml 配置中classpath: 与classpath*:的区别

     


     
    首先 classpath是指 WEB-INF文件夹下的classes目录 

     

     

     

     

     

     

    解释classes含义: 
    1.存放各种资源配置文件 eg.init.properties log4j.properties struts.xml 
    2.存放模板文件 eg.actionerror.ftl 
    3.存放class文件 对应的是项目开发时的src目录编译文件 
    总结:这是一个定位资源的入口 

     

     



    classpath 和 classpath* 区别: 
    classpath:只会到你的class路径中查找找文件; 
    classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 


    Java代码  收藏代码
    <param-value>classpath:applicationContext-*.xml</param-value>  


    或者引用其子目录下的文件,如 
    Java代码  收藏代码
    <param-value>classpath:context/conf/controller.xml</param-value>  




    classpath*的使用:当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,*就发挥了作用,如果不加*,则表示仅仅加载第一个classpath路径,代码片段: 
    Java代码  收藏代码
    <param-value>classpath*:context/conf/controller*.xml</param-value>  




    另外: 
    "**/" 表示的是任意目录; 
    "**/applicationContext-*.xml"  表示任意目录下的以"applicationContext-"开头的XML文件。  
    程序部署到tomcat后,src目录下的配置文件会和class文件一样,自动copy到应用的 WEB-INF/classes目录下 
    classpath:与classpath*:的区别在于, 


    前者只会从第一个classpath中加载,而 
    后者会从所有的classpath中加载  


    如果要加载的资源, 
    不在当前ClassLoader的路径里,那么用classpath:前缀是找不到的, 
    这种情况下就需要使用classpath*:前缀 


    在多个classpath中存在同名资源,都需要加载, 
    那么用classpath:只会加载第一个,这种情况下也需要用classpath*:前缀 


    注意: 
    用classpath*:需要遍历所有的classpath,所以加载速度是很慢的,因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用 classpath* 

    更多技术交流问题可以添加微信masterlong008,一起交流,共同成长。

     

     

    展开全文
  • classpath的理解和使用

    2018-04-19 16:15:36
    classpath的理解和使用 classpath的说明可以参考oracle官方说明,这上面有详细的描述,中文可参考这篇博文。 在笔者看来呢,classpath就是寻找类的路径,为什么叫路径,而不叫目录啊,地址啊什么的,是因为路径...

    classpath的理解和使用

    • classpath的说明可以参考oracle官方说明,这上面有详细的描述,中文可参考这篇博文
    • 在笔者看来呢,classpath就是寻找类的路径,为什么叫路径,而不叫目录啊,地址啊什么的,是因为路径(path)的含义就包括目录、地址等,由此可以看出,路径的实现方式会有很多种,有目录,也有文件的地址等等,从官方说明可以看出。
    • 那在具体的项目中,这个classpath是对应项目中的哪些目录呢?首先看个图:
    • 这是一个springboot项目,红色圈起来的目录main,编译后它下面的内容会被放到classpath下,项目编译后,如图:
    • 可以看到java和resource目录下的内容全都放在了classes目录下,classes这个目录就是classpath。然后再来看看打出来的jar包,它的结构是什么呢?如图:
    • 这里面的classpath就是lib和classes,要注意的是,classpath下不仅仅是class,还有一些资源文件。
    • 那怎么引用classpath下的内容呢?一般来说,可以通过classpath:+引用的内容,另外呢,file:+绝对路径,就是引用文件系统的内容了。
    • 在使用的时候,要注意,classpath:只会在已定义的路径下查找内容,可能是某个目录下的所有class文件,可能是某个jar文件等等,classpath*:还会到jar文件中的classpath去寻找内容,这在有继承的项目中会用到的,就是父项目需要读取子项目的配置文件时。
    展开全文
  • java项目中的classpath到底指向的哪里

    万次阅读 多人点赞 2018-05-15 14:15:59
    上面图片的意思简单来说,就是classpath只能表示lib目录和WEB-inf/classes路径下的文件,calsspath不能表示的src路径下面的文件, 但是从项目结构来看,配置文件一般是不放在放在WEB-INF下面啊,并且也没有看到...

    这里写图片描述
    这里写图片描述
    今天在项目里看到好多地方都用到了classpath,并且自己对calsspath到底指向哪里还不是很清楚,所以就在网上百度了一下!

    这里写图片描述
    上面图片的意思简单来说,就是classpath只能表示lib目录和WEB-inf/classes路径下的文件,calsspath不能表示的src路径下面的文件,
    这里写图片描述
    但是从项目结构来看,配置文件一般是不放在放在WEB-INF下面啊,并且也没有看到classes路径,lib目录不是放依赖jar包的吗。此时感觉凉凉了。并且测试了一下,在WEB-INF路径下面创建了lib和classes文件夹,这里写图片描述
    这里写图片描述
    测试的结果也很明显,访问不到WEB-INF下面的classes和lib路径下面的文件,报错了。

    但是,我有一想,不对啊,明明项目中能用classpath引入配置文件,那到底是怎么引入的呢?
    从第一张图和第二张图,使用classpath访问到了src路径下面的main/resources文件中的配置文件
    打开编译后的项目,发现项目文件中有一个文件名为.classpath的文件,点开看了一下
    这里写图片描述
    这里写图片描述
    具体classpath文件的介绍可以参考下面博客
    .classpath文件详解

    .classpath文件用于记录项目编译环境的所有信息,包括:源文件路径、编译后class文件存放路径、依赖的jar包路径、运行的容器信息、依赖的外部project等信息。如果把该文件删除,则eclipse不能讲该工程识别为一个正常的java工程,仅仅当做普通的文件夹而导致不能正常运行。

    1. 源文件的具体位置(kind=”src”)
    2. 运行的系统环境(kind=”con”)
    3. 工程的library的具体位置信息(kind=”lib”)
    4. 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个”javadoc_location”)
    5. 项目的输出目录(kind=”output”)

    总体上说这个文件就是配置整个工程的运行环境。

    这就很明白了,classpath值得就是(kind=”src”)所指定的文件,并且此时的可以看到(kind=”src”)的设置并没有包含WEB-INF文件。此时我们要验证WEB-INF文件被classpath访问跟这个设置有关吗。

    首先我们将applicationContext.xml文件放在WEB-INF路径下面,并且.classpath文件内容如下图,启动本项目
    这里写图片描述
    这里写图片描述
    这里写图片描述

    打开项目的原始文件,发现applicationContext.xml并没有出现

    这里写图片描述

    此时我们将.classpath文件中添加
    classpathentry kind=”src” path=”WebContent/WEB-INF”/
    这里写图片描述

    再次启动本项目
    这里写图片描述

    打开项目的原始路径下,发现applicationcontext.xml出现在了WebContent/WEB-INF下面

    这里写图片描述

    由此可以总结:

    1、在编译时生成的文件.classpath 中kind=”src” 的类型为classpath 路径,在项目里可以用classpath:xxx方式引用。也可以手动过来自己添加、扩大classpath的范围, .

    也就是说你想知道classpath可以引用哪里的文件,点开.classpath 看看kind=”src” 的就知道了

    2、在编译生成的项目下的bulid/classes/ 下具有的文件都是classpath 路径下的文件,都可以通过classpath:方法获取。(classes:指的是编译后的文件)

    3、”src不是classpath, WEB-INF/classes,lib才是classpath”这句话也会不对的,这是编写项目时看到的,真正的classpath是在编译后文件存放路径,默认是的bulid/classes/ (如结论2)

    展开全文
  • 【Java】classpath的理解及其使用方式

    万次阅读 2017-09-12 01:20:11
    笔者之前对于classpath都没有什么深入的研究,之前的项目打包jar包都是按照网上的教程自己照着葫芦画瓢。但是因为最近碰到一些关于这方面的知识,因此索性觉得要好好补充一下这方面的知识。下面的文章主要是翻译自...

    笔者之前对于classpath都没有什么深入的研究,之前的项目打包jar包都是按照网上的教程自己照着葫芦画瓢。但是因为最近碰到一些关于这方面的知识,因此索性觉得要好好补充一下这方面的知识。下面的文章主要是翻译自oralce官网关于设置classpath的说明Setting the class path,并对其中一些地方进行了部分的补充说明,方便读者理解。

    概要

    classpath是Java运行时环境搜索类和其他资源文件(比如jar\zip等资源)的路径。可以通过JDK工具(比如javac命令、java命令)后面的-classpath 参数设置classpath(这个可以通过装有java环境的dos窗口下输入sdktool的命令来查看可以输入的参数选项,见下图)

    输入java命令查看命令行参数,对于javac命令也是一样可以查看的

    或通过设置CLASSPATH环境变量。该 -classpath选项是首选项,因为您可以为每个应用程序单独设置,而不会影响其他应用程序,而无需其他应用程序修改其值。

    下面是这两种方式的说明示例:

    (1)通过jdk的命令行来为每个application设置
    这个设置主要是为每个application设置,并不会影响别的程序的classpath以及环境变量的classpath,他只在当前窗口生效。
    C:> sdkTool -classpath classpath1 ;classpath2 …

    (2)设置classpath环境变量,这个是全局设置,对所有的应用程序生效
    C:> set CLASSPATH=classpath1 ;classpath2 …

    sdkTool

    一个命令行工具,例如java, javac,javadoc,或apt。有关列表,请参阅JDK工具

    classpath1 ;classpath2

    .jar,.zip或.class文件的classpath。每个classpath应以文件名或目录结尾,针对不同的情况,设置classpath的格式方法如下:
    (1)对于包含.class文件的.jar或.zip文件,classpath以.zip或.jar文件的名称结尾。
    下面是示例,笔者自己将一个工程打包成jar包,同时指定这个jar包下的某个class文件运行。结果如下:
    这里写图片描述
    下面是工程的目录,其中工程中引用了其他jar包,笔者在打包的时候,用maven的assembly插件打包成了一个fat jar(想要了解具体打包方法,查看这两篇博文:
    【Java】打包Jar包并用脚本执行
    【Maven】Maven系列(二)——利用assembly插件打包

    查看下面的classpath的值是怎么指定的。
    这里写图片描述
    (2)对于未命名包中的.class文件,classpath以包含.class文件的目录结束。比如一个a.class文件在d:path1\path2下,但是这个a.class没有package,那么如果想让jvm搜索到这个class文件,这时指定classpath的时候,可以使用d:path1\path2,因为classpath的默认路径是当前路径,因此在使用的时候,如果是在当前路径下打开dos窗口,classpath命令缺省,那么这个时候其效果与指定当前路径为classpath的效果等效。如下的示例:
    test.java

    public class test {
        public static void main(String[] args) {
            System.out.println("hello world!");
        }
    }

    这个类是没有package的。
    下面是运行结果:
    这里写图片描述
    这里写图片描述
    程序运行成功
    (3)对于命名包中的.class文件,类路径以包含“root”包(完整包名称中的第一个包)的目录结束。
    示例如下:
    Equals.java在名为string的package下

    package string;
    public class Equals {
        public static void main(String[] args){
            String a=new String("test");
            String b=new String("test");
            System.out.println(a==b);
        }
    }

    那么对于这种情况,指定classpath的方式如下:
    这里写图片描述
    通过上面几条命令,可以看出来正确的命令行格式如下:
    java -classpath package_rootpath package_name.class_name

    多个路径条目以分号分隔。使用set命令,等号(=)周围的空格可以忽略。
    
    默认classpath是当前目录。设置 CLASSPATH变量或使用 -classpath命令行选项将覆盖该默认值,因此,如果要在搜索路径中包含当前目录,则必须在新设置中包含“ . ”(关于路径的说明可以参考笔者的另一篇博文)。
    
    既不是目录也不是归档(.zip或.jar文件)和*的classpath会被忽略。
    

    描述

    类路径告诉JDK工具和应用程序在哪里可以找到第三方和用户定义的类 - 即不是Java 扩展或Java平台的一部分的类。类路径需要找到你用javac编译器编译的任何类——其默认值是当前目录,以方便地找到这些类。

    JDK,JVM和其他JDK工具通过按顺序搜索Java平台(bootstrap)类,任何扩展类和类路径来查找类。(有关搜索策略的详细信息,请参阅如何找到类。)大多数应用程序的类库都希望利用扩展机制。您只需要设置classpath,当您要加载的class满足下面的条件(a)不在当前目录或其任何子目录中的类时,(b)不在扩展机制指定的位置。

    如果要从旧版本的JDK升级,启动设置可能包含CLASSPATH不再需要的设置。您应该删除任何不是特定于应用程序的设置,例如classes.zip。使用Java虚拟机的某些第三方应用程序可能会修改您的CLASSPATH环境变量以包含它们使用的库。这样的设置可以保持不变。

    当您调用JVM或其他JDK工具或使用环境变量时,可以使用JDK工具’ -classpath选项来更改classpath。使用该选项优于设置环境变量,因为您可以为每个应用程序单独设置,而不会影响其他应用程序,而无需其他应用程序修改其值。

    类可以存储在目录(文件夹)或归档文件(这里指的归档文件也就是那些jar包和zip包)中。Java平台类存储在 rt.jar。有关归档的更多详细信息以及有关类路径的工作原理的信息,请参阅本文档末尾附近的类路径和包名称。

    重要说明:某些旧版本的JDK sofware 在默认的类路径中包含一个/classes条目。该目录存在供JDK软件使用,不应用于应用程序类。应用程序类应放在JDK等级目录之外。这样,安装新的JDK并不会强制您重新安装应用程序类。为了与旧版本兼容,使用/classes目录作为类库的应用程序 将以当前版本运行,但不保证将在以后的版本中运行。

    使用JDK工具的-classpath选项

    JDK工具java,jdb,javac和javah有一个-classpath选项,用于替换由classpath环境变量指定的路径 。这是改变classpath设置的推荐选项,因为每个应用程序都可以具有所需的classpath,而不会干扰任何其他应用程序。

    运行时工具java也有一个 -cp选项。此选项是-classpath的缩写。

    对于非常特殊的情况,java和 javac都有选项,可以让您更改用于查找自己的类库的路径。然而,绝大多数用户将永远不需要使用这些选项。

    使用CLASSPATH环境变量

    一般来说,您使用-classpath 命令行选项要像上一节介绍的那样。本节介绍如何设置CLASSPATH环境变量,或者清除以前安装中留下的设置。

    设置CLASSPATH

    在CLASSPATH环境变量修饰的组命令。格式为:

    set CLASSPATH = path1 ; path2…

    路径应以指定驱动器的字母开头,例如C:\。这样,如果您碰巧切换到其他驱动器,则仍然会找到class文件。(如果设置的路径是D:\,那么jvm就会去D盘下找这个class,而不是在C盘下)

    清除CLASSPATH

    如果您的CLASSPATH环境变量设置为不正确的值,或者您的启动文件或脚本设置不正确的路径,可以CLASSPATH 使用以下命令取消设置:

      C:> set CLASSPATH =
    

    此命令仅在当前命令提示符窗口中取消CLASSPATH。您还应删除或修改启动设置,以确保CLASSPATH在将来的会话中拥有正确的设置。

    更改启动设置

    如果CLASSPATH变量在系统启动时设置,则要查找的位置取决于您的操作系统:
    对于Windows 95和98,检查autoexec.bat的 set命令。
    其他(Windows NT,Windows 2000,…) 的系统,CLASSPATH 环境变量可以使用控制面板中的系统实用程序来设定。

    了解类路径通配符

    类路径条目可包含基名通配符*,这被认为等同于指定在扩展目录下的所有文件的列表.jar或 .JAR。例如,类路径条目 foo/* 指的就是foo目录下的所有JAR文件。一个简单由*组成的类路径指的就是当前目录中所有jar文件的列表。

    通配符*的classpath写法对于class文件来说不适用(意思就是通配符*适用的对象是jar而不是class)。要在单个目录中匹配类和JAR文件 foo,请使用foo;foo/*或 foo/*;foo。前者的顺序决定了foo文件目录下的类和资源加载在前,jar加载在后,后者反之亦然。

    子目录不是递归搜索。例如, foo/*仅在查找JAR文件foo,而不包括foo/bar,foo/baz等子目录。

    扩展类路径中枚举目录中的JAR文件的顺序未指定(The order in which the JAR files in a directory are enumerated in the expanded class path is not specified,这一句没看懂,读者如果有了解的,可以留言回复一下,谢谢!),并且可能因平台而异,甚至在同一台机器上也会随时变化。构建良好的应用程序不应取决于任何特定的顺序。如果需要特定的顺序,则JAR文件可以在类路径中显式枚举。

    通配符的扩展这一过程是在调用程序的main方法之前,在类加载过程期间。每个包含通配符的输入类路径将被枚举为这个目录下的所有JAR文件路径。例如,如果目录foo包含 a.jar,b.jar和c.jar,然后将类路径foo/*扩展为 foo/a.jar;foo/b.jar;foo/c.jar,并且该字符串将是系统属性的值 java.class.path。

    CLASSPATH环境变量和-classpath(或 -cp)的命令行选项没什么不同的。也就是说,通配符在所有情况下都是一样适用的。但是,类路径通配符在Class-Path jar-manifest头文件中并不符合要求(这一句话也不是很理解,希望读者指教!)。

    了解类路径和包名称

    Java类被组织成被映射到文件系统中的目录的包。但是,与文件系统不同,无论何时指定包名称,都可以指定整个 包名称,而不是它的一部分。例如,对于包名称 java.awt.Button是总是指定为 java.awt。

    例如,假设您希望Java运行时可以找到Cool.class该类在utility.myapp包下。如果该目录的路径是 C:\java\MyClasses\utility\myapp,那么设置的classpath就应该包含C:\java\MyClasses。

    要运行该应用程序,可以使用以下JVM命令:

    C:> java -classpath C:\ java \ MyClasses utility.myapp.Cool

    当应用程序运行时,JVM使用这个classpath设置来查找utility.myapp包中定义的任何其他类(也包括Cool类)。

    请注意,命令中指定了整个包名称。如果是设置classpath为C:\java\MyClasses\utility并使用命令 java myapp.Cool,这种做法是不可能成功的。JVM找不到这个类。

    (你可能想知道什么定义了一个类的包名称,答案是包名是类的一部分,不能修改,除了重新编译该类)。

    注意:包指定机制的一个有趣的后果是,作为同一包的一部分的文件实际上可能存在于不同的目录中。每个类的包名称将相同,但是每个文件的路径可以从类路径中的不同目录开始。

    文件夹和归档文件

    当类存储在目录(文件夹)中时, 比如存储在c:\java\MyClasses\utility\myapp,那么classpath条目指向包含包名称的第一个元素的目录。也就是package的上一级目录(在这种情况下,classpath就是C:\java\MyClasses,因为包名是utility.myapp。)

    但是当类存储在归档文件(.zip或.jar文件)中时,类路径条目是.zip或.jar文件的路径并包含.zip或.jar文件。例如,要使用.jar文件中的类库,命令将如下所示:

    C:> java -classpath C:\ java \ MyClasses \ myclasses.jar utility.myapp.Cool

    多重指定

    要查找C:\java\MyClasses目录下的类以及C:\java\OtherClasses目录下的类,那么请将类路径设置为:

    C:> java -classpath C:\ java \ MyClasses; C:\ java \ OtherClasses …

    请注意,这两个路径以分号分隔。

    指定顺序

    多个classpath的顺序很重要。Java解释器将按照它们在classpath变量中出现的顺序来查找目录中的类。在上面的例子中,Java解释器将首先在C:\java\MyClasses目录下查找类。只有在该目录中找不到具有正确名称的类时,解释器才会在C:\java\OtherClasses 目录中查找。

    展开全文
  • java环境变量中classpath是必须配置吗

    千次阅读 2019-05-22 00:10:19
  • 在使用eclipse或者myeclipse进行java项目开发的时候,每个project(工程)下面都会有一个.classpath文件,那么这个文件究竟有什么作用? 2 作用 .classpath文件用于记录项目编译环境的所有信息,包括:源文件路径、...
  •  他这篇博客比较细的讲解了classpathclasspath*,以及通配符的使用,那些配置能成功加载到资源,那些配置加载不了资源。但是我相信仍然有很多同学不明白,为什么是这样的,知其然,不知其所以然,那么本篇文章将...
  • 概念介绍: ...classpath:是指WEB-INF文件夹下的classes目录 tomcat-7.0.50 目录结构及作用  bin: 存放tomcat的命令  conf:存放tomcat的一些配置文件  lib:存放tomcat运行需要加载的jar包  lo
  • 简述path与classpath的区别及其意义

    万次阅读 多人点赞 2018-07-31 17:45:33
    存在CLASSPATH和Path两个东西 path是什么东西 比如 我们打开cmd 输入一个命令java 然后系统就会去找这个名字叫 java 可执行文件 那么,java这个文件在哪里? 系统就会在path里面去,看看那些路径有没有...
  • 关于classpath: classpath*,

    千次阅读 2019-02-14 16:34:43
    然后classpath:resources即可,或者是针对如果和src和config一个路径下, 现在   如果是针对src 下面 2 IDEA maven 下面 src/main/java src/main/resources classpath 就是针对src/main/java或者是sr.....
  • Spring加载resource时classpath*:与classpath:的区别

    万次阅读 多人点赞 2017-10-12 22:33:47
    Spring可以通过指定classpath*:与classpath:前缀加路径的方式从classpath加载文件,如bean的定义文件.classpath*:的出现是为了从多个jar文件中加载相同的文件.classpath:只能加载找到的第一个文件. 比如 resource1....
  • CLASSPATH

    2014-05-03 21:42:09
    CLASSPATH
  • Java项目中的classpath

    千次阅读 2016-08-17 16:56:29
    一、classpath介绍 设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。 Java执行环境本身就是一个平台,执行于这个平台上的程序是已编译完成的Java程序(后面...
  • classpathclasspath*区别

    千次阅读 2019-02-25 12:50:01
    今天使用redisTemplate,启动时出现Bean创建异常 bug代码展示: at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues...
  • java中classpath详细

    万次阅读 2016-08-23 16:08:23
    对于classpath作用的解释在《Thinking in Java》中有如下解释: Java 解释器的工作程序如下:  首先,它找到环境变量CLASSPATH(将Java 或者具有Java 解释能力的工具——如浏览器——安装到机器中时,通过操作系统...
  • Spring可以通过指定 classpath*: 与 classpath: 前缀加路径的方式从 classpath 加载文件,如 bean 的定义文件. classpath*: 的出现是为了从多个jar文件中加载相同的文件. 而 classpath: 只能加载找到的第一个文件.
  • classpath

    2014-07-28 09:53:50
    Classpath是Java中的重要概念,它描述了Java虚拟机在运行一个Class时在哪些路径中加载要运行的类以及运行的类要用到的类。简单的说,就是像操作系统的path,只不过这个classpath是由Java的虚拟机来使用查找需要加载...
  • Spring MVC 的classpath

    2015-07-16 16:22:40
    <param-value>classpath*:config/application.xml中的这句 我没有用绝对路径,那个classpath具体指的是哪个路径,在哪里可以设置吗?我在java Build Path ---> Source 下 Default output 中设置路径后 一直报 org....
  • Spring中classpathclasspath*的问题

    千次阅读 2017-08-04 10:16:31
    这一段是从网上抄录(原网址为 关于Spring加载classpathclasspath*的过程剖析) 1.无论是classpath还是classpath*都可以加载整个classpath下(包括jar包里面)的资源文件。 2.classpath只会返回第一个匹配的资源...
  • Windows下PATH,CLASSPATH等环境变量详解

    万次阅读 2017-05-22 00:51:38
    转载出处:http://legend2011.blog.51cto.com/3018495/553255,... 在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH,Classpath等。正确地配置这些环境变量,是能够顺
1 2 3 4 5 ... 20
收藏数 580,093
精华内容 232,037
关键字:

classpath