java——获取项目根路径方式

简介: java——获取项目根路径方式

先赞后看,此生必赚!

1. this.getClass().getResource("/").getPath();如果不加“/”,则获取当前类的目录


2. file.getCanonicalPath().getPath();


3. this.getClass().getClassLoader();


4. System.getProperty("user.dir");


5. System.getProperty("java.class.path").split(";")[0];


6. Thread.currentThread().getContentClassLoader().getResource("").getPath();


7. request.getSession().getServletContext().getRealPath("/");


其中:

第4个方式的参数可以修改为其他内容:

     /**
      * Key                                    中文描述
      * java.version                    Java 运行时环境版本
      * java.vendor                        Java 运行时环境供应商
      * java.vendor.url                    Java 供应商的 URL
      * java.home                        Java 安装目录
      * java.vm.specification.version    Java 虚拟机规范版本
      * java.vm.specification.vendor    Java 虚拟机规范供应商
      * java.vm.specification.name        Java 虚拟机规范名称
      * java.vm.version                    Java 虚拟机实现版本
      * java.vm.vendor                    Java 虚拟机实现供应商
      * java.vm.name                    Java 虚拟机实现名称
      * java.specification.version        Java 运行时环境规范版本
      * java.specification.vendor        Java 运行时环境规范供应商
      * java.specification.name            Java 运行时环境规范名称
      * java.class.version                Java 类格式版本号
      * java.class.path                    Java 类路径
      * java.library.path                加载库时搜索的路径列表
      * java.io.tmpdir                    默认的临时文件路径
      * java.compiler                    要使用的 JIT 编译器的名称
      * java.ext.dirs                    一个或多个扩展目录的路径
      * os.name                            操作系统的名称
      * os.arch                            操作系统的架构
      * os.version                        操作系统的版本
      * file.separator                    文件分隔符(在 UNIX 系统中是“/”)
      * path.separator                    路径分隔符(在 UNIX 系统中是“:”)
      * line.separator                    行分隔符(在 UNIX 系统中是“/n”)
      * user.name                        用户的账户名称
      * user.home                        用户的主目录
      * user.dir                        用户的当前工作目录
      * 
      */
相关文章
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
101 9
|
24天前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
2天前
|
算法 搜索推荐 Java
【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
本文探讨了如何将算法学习与实际项目相结合,以提升编程竞赛中的解题能力。通过《苍穹外卖》项目,介绍了订单配送路径规划(基于动态规划解决旅行商问题)和商品推荐系统(基于贪心算法)。这些实例不仅展示了算法在实际业务中的应用,还帮助读者更好地准备蓝桥杯等编程竞赛。结合具体代码实现和解析,文章详细说明了如何运用算法优化项目功能,提高解决问题的能力。
31 6
|
2天前
|
Java 数据库连接 数据库
【潜意识Java】深度分析黑马项目《苍穹外卖》在Java学习中的重要性
《苍穹外卖》项目对Java学习至关重要。它涵盖了用户管理、商品查询、订单处理等模块,涉及Spring Boot、MyBatis、Redis等技术栈。
23 4
|
20天前
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
68 17
|
1月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
103 34
|
1月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
148 26
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
83 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
2月前
|
Java
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
2月前
|
Java Android开发
Eclipse Java 构建路径
Eclipse Java 构建路径
47 3