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 Maven
Maven 构建 Java 项目
使用 Maven 的 archetype:generate 命令创建 Java 项目,如 `mvn archetype:generate` -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,在 C:\MVN 下生成基于 maven 的 consumerBanking 项目。
|
3天前
|
前端开发 JavaScript Java
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)五(前端页面
|
6天前
|
Java 关系型数据库 MySQL
【Java Spring开源项目】新蜂(NeeBee)商城项目运行、分析、总结
【Java Spring开源项目】新蜂(NeeBee)商城项目运行、分析、总结
155 4
|
6天前
|
存储 Java Maven
Maven 构建 Java 项目
使用 Maven 的 `maven-archetype-quickstart` 插件在 `C:\MVN` 创建 Java 应用项目 `consumerBanking`,命令行参数包括 `-DgroupId`, `-DartifactId` 和 `-DarchetypeArtifactId`。项目包含 src/main/java 和 src/test/java 目录,分别存放 Java 代码和测试代码,以及 src/main/resources 用于存储资源文件。默认生成的 `App.java` 和 `AppTest.java` 分别为应用主类和测试类。
|
6天前
|
移动开发 前端开发 Java
STS里的java 工程项目名称修改和目录设置成源代码
STS里的java 工程项目名称修改和目录设置成源代码
|
6天前
|
JavaScript 前端开发 Java
java项目的打包将vue放到.jar里面部署
java项目的打包将vue放到.jar里面部署
|
6天前
|
缓存 安全 前端开发
来聊聊Java项目分层规范
本文讨论了Java项目的分层规范,强调了分层的重要性以避免代码不易扩展和职责边界模糊。作者分享了阿里提出的六层分层模型(开放接口层、终端显示层、Web层、Service层、Manager层、Mapper层)以及对应的领域模型(DO、DTO、VO、query)。同时,提出了简化版的分层规约,以提高开发效率。作者是CSDN Java博客专家,维护者之一的Java Guide项目,并提供了个人项目结构示例。文章鼓励读者关注其公众号以获取更多交流机会。
30 4
|
6天前
|
Java
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
17 0
|
6天前
|
Java Maven
Maven 构建 Java 项目
使用Maven的`maven-archetype-quickstart`插件在C:\MVN下创建Java应用,命令包括`groupId`, `artifactId`, 和 `archetypeArtifactId`参数。生成的项目包含src/main/java和src/test/java目录,分别用于存放源代码和测试代码,还有src/main/resources用于资源文件。默认提供App.java主类和AppTest.java测试类。按照预设结构组织文件,Maven将自动管理构建过程。
|
6天前
|
存储 Java 数据格式
Java实战:轻松掌握文件重命名与路径提取技巧
Java实战:轻松掌握文件重命名与路径提取技巧
21 0