zoukankan      html  css  js  c++  java
  • Java获取工程目录

    背景:程序执行时,会涉及到去读取配置文件等操作,那就需要了解怎么获得文件路径
     

    Java目录映射关系

    说明一点:在Java代码执行时,会将编译生成的classes文件,以及配置文件等信息生成到target目录下。最终执行的文件实际是target下的class文件
    以上图的例子为例:
    工程名:zzappqa
    工程所在目录:/opt/script/zzappqa
    生成的target目录:target
     
    下面是一个工程文件到生成的target目录的一个映射关系
    zzappqa工程下的文件target下的文件源码java文件classes下的class文件资源文件resourcesclasses下web站点的资源文件webappzzappqa(工程名)

     

    zzappqa工程下的文件 target下的文件
    源码java文件 classes下的class文件
    资源文件resources classes下
    web站点的资源文件webapp zzappqa(工程名)

    一般配置文件都是放在资源文件resources下的,综上关系,如果想获得配置文件。只要找到target下的classes目录即可。
     
    获取classes目录地址的方法:
    this.getClass().getResource("/").getPath() 
     

    获取工程目录的方法

    说明:web站点,在本地和在tomcat启动时,System.getProperty("user.dir")是不一致的
     
    方法 说明
    System.getProperty("user.dir")
    1、如果是本地执行的,获取的是工程根目录
    2、如果是在tomcat中启动的,获得的是tomcat的bin目录
    Thread.currentThread().getContextClassLoader().getResource("").toString())
    获得java编译文件存放的classes根目录
    资源文件resources也在该目录下
    this.class.getClassLoader().getResource("").getPath()
    同上
    获得java编译文件存放的classes根目录
    资源文件resources也在该目录下
    this.class.getClass().getResource("/").getPath()
    同上
    获得java编译文件存放的classes根目录
    资源文件resources也在该目录下
    this.class..getClass().getClassLoader().getResource(".").getPath()
    同上
    获得java编译文件存放的classes根目录
    资源文件resources也在该目录下
    this.class.getClass().getResource("/comm").getPath()
    获得classes目录下的comm路径
    注:如果该路径不存在会抛空指针异常
    System.getProperty("java.class.path") 获得java所有类加载路径

     

  • 相关阅读:
    飞腾1500A 上面银河麒麟操作系统 进行远程以及添加用户的方法 linux xrdp
    centos7 安装Anaconda3及使用
    机器学习(ML)中文视频教程
    spring学习笔记(26)spring整合Quartz2持久化稳健任务调度
    Cocos2d-X中使用ProgressTimer实现一些简单的效果
    总结几点关于做互联网产品的思路
    norflash和nandflash电路
    存储过程
    USACO hamming 继续暴搜
    [原理分析]Linux下的栈溢出案例分析-GDB调试操练[1]
  • 原文地址:https://www.cnblogs.com/meitian/p/9382661.html
Copyright © 2011-2022 走看看