zoukankan      html  css  js  c++  java
  • [JAVA] JAVA 类路径

    Java 类路径

    类路径是所有包含类文件的路径的集合。
    类路径中的目录和归档文件是搜寻类的起始点。

    虚拟机搜寻类

    • 搜寻jre/lib和jre/lib/ext目录中归档文件中所存放的系统类文件
    • 搜寻再从搜寻类路径

    测试搜寻类

    Person.java 源文件

    public class Person
    {
        private String name;
    
        public Person(String name)
        {
            this.name = name;
        }
    
        public void PrintName()
        {
            System.out.println("Name is:" + name);
        }
    }
    

    Welcome.java 源文件

    /**
     * This program dispalys Hello World 
     * @version 1.0 
     * @author ABeen
     * */
    
    
    public class Welcome
    {
        public static void main(String[] args)
        {
            String greeting = "Hello World!";
            System.out.println(greeting);
    
            String name = "ABeen";
            Person e = new Person(name);
            e.PrintName();
        }
    }
    

    测试执行
    在源码所在目录执行

    mac-abeen:java abeen$ javac Welcome.java  编译正常
    mac-abeen:java abeen$ java Welcome        执行正常
    Hello World!
    Name is:ABeen
    mac-abeen:java abeen$ 
    

    在非源码目录执行

    编译代码

    //未设置类路径,编译时找不到引用的源文件
    mac-abeen:alearn abeen$ javac ./java/Welcome.java  
    ./java/Welcome.java:16: 错误: 找不到符号
            Person e = new Person(name);
            ^
      符号:   类 Person
      位置: 类 Welcome
    ./java/Welcome.java:16: 错误: 找不到符号
            Person e = new Person(name);
                           ^
      符号:   类 Person
      位置: 类 Welcome
    2 个错误
    
    //设置类路径
    mac-abeen:alearn abeen$ javac -cp ./java ./java/Welcome.java  
    

    执行代码

    //未设置类路径
    mac-abeen:alearn abeen$ java ./java/Welcome 
    错误: 找不到或无法加载主类 ..java.Welcome
    原因: java.lang.ClassNotFoundException: //java/Welcome
    
    //设置类路径
    mac-abeen:alearn abeen$ java --class-path=/Users/abeen/abeen/alearn/java Welcome
    Hello World!
    Name is:ABeen
    
  • 相关阅读:
    nginx设置缓存策略
    http缓存原理理解
    promise教程
    vue项目发布到github演示
    vue路由嵌套子路由不渲染
    hihocoder 1403 1407 1415 后缀数组*3 最长公共子串/最长不重叠重复出现的子串/最长k次重复子串
    hdu 4691 后缀数组+rmq 求子串lcp
    hdu1506+ luogu 1440 单调栈/单调队列裸题
    codeforces 873F 后缀数组+单调栈(fastio)
    HihoCoder
  • 原文地址:https://www.cnblogs.com/abeen/p/8424791.html
Copyright © 2011-2022 走看看