zoukankan      html  css  js  c++  java
  • 总结一下classpath

    今天好好研究了一下Java的classpath,什么是classpath呢?classpath就是我们输入

    java xxx

    的时候Java执行环境搜索xxx类文件的路径。指定这个路径有两种方式,第一种是在我的电脑里面设置环境变量classpath或在命令行里面用

    set classpath=xxxxxxx

    设置,这两个方法的效果是一样的所以归类为第一种(只不过在命令行里面设置的是临时的,仅对此命令窗口有效)

    第二种如下:

    java -cp ./b xxx

    这种方式将在当前目录的b文件夹里面找到xxx.class文件并加载进来。

    第一种方法有个需要注意的地方,

    set classpath=xxxxxxx

    set classpath=xxxxxxx;//这行多了个分号

    是不一样的,第二行多了个分号,效果就是让Java执行环境先在xxxxxx目录搜索类文件然后再从当前目录搜索类文件。而没有分号就是让Java执行环境只在xxxxxx目录搜索类文件,如果xxxxxx目录没有搜索的类文件,而当前目录有这个要搜索的类文件,那么依然会报错。

    总结一下,当没有在我的电脑里面设置环境变量classpath或在命令行里面用

    set classpath=xxxxxxx

    设置classpath,或者是没有明确指定-cp选项的时候,Java执行环境仅从当前目录搜索类文件

    当两者中有一个设置(指定)时仅从设置(指定)的目录搜索类文件,而不搜索当前目录(如果两者里面没有包含当前目录的话)

    若两者同时设置和指定则忽略classpath,只使用-cp选项指定的目录,而不搜索当前目录(如果两者里面没有包含当前目录的话)

  • 相关阅读:
    当扩展方法和类里定义的方法重名时,会优先调用类里自义的方法
    jquery.uploadify不支持MVC的Authorize
    .NET4中多线程并行方法Parallel.ForEach
    http://twitter.github.com/bootstrap/
    .NET 4.0中使用sqlite
    Extend Html.EditorFor MVC
    Custom Email Attribute在客户端不起作用原因
    使用webpack搭建vue环境
    新浪sae对storage的文档进行读写操作
    jquery+bootstrap插件
  • 原文地址:https://www.cnblogs.com/xxNote/p/4160489.html
Copyright © 2011-2022 走看看