All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.cutexingluo.tools.utils.se.file.XTPathUtil Maven / Gradle / Ivy

Go to download

xingtools 依赖core,附加,也就是基于 SpringBoot 的一些工具或实体类

The newest version!
package top.cutexingluo.tools.utils.se.file;

import org.jetbrains.annotations.NotNull;
import org.springframework.boot.system.ApplicationHome;

import java.io.File;

/**
 * Path 封装工具类
 * 

可以通过此工具类获取你的项目文件位置

*

于 1.1.1 版本 拆分 原XTPath为 XTPath 和 XTPathUtil

* * @author XingTian * @version 1.0.0 * @date 2024/7/12 16:03 * @since 1.1.1 */ public class XTPathUtil extends XTPath{ //极力推荐用,后面发布会有用 //由于class文件根目录是classes /** * 利用Spring获取项目绝对路径 * * @param clazz 目标类 * @return 项目地址 */ @NotNull public static String getProjectPath(Class clazz) { return getProjectPath(clazz, EnvType.PROD); } /** * 利用Spring获取项目绝对路径 *

PathType 代表环境

* * @param clazz 目标类 * @return 项目地址 */ @NotNull public static String getProjectPath(Class clazz, EnvType envType) { ApplicationHome applicationHome = new ApplicationHome(clazz); //classes -> target -> project path //getParentFile().getParentFile(). File homeDir = applicationHome.getDir(); if (envType == EnvType.DEV) { homeDir = homeDir.getParentFile().getParentFile(); } return homeDir.getAbsolutePath(); } /** * 从字节码位置推测 , * 利用Spring获取源项目地址中java文件夹路径 *
    *
  • 在 test , dev 环境下运行
  • *
  • 不要 prod 下使用该方法, 除非jar包在根目录下
  • *
* * @param clazz 目标类 * @param envType 环境类型 * @return 项目地址 */ @NotNull public static String getProjectJavaPath(Class clazz, EnvType envType) { return getProjectPath(clazz, envType) + MAIN_PATH + SEPARATOR + "java"; } /** * 从字节码位置推测 , * 利用Spring获取源项目地址中resource文件夹路径 *
    *
  • 在 test , dev 环境下运行
  • *
  • 不要 prod 下使用该方法
  • *
* * @param clazz 目标类 * @param envType 环境类型 * @return 项目地址 */ @NotNull public static String getProjectResPath(Class clazz, EnvType envType) { return getProjectPath(clazz, envType) + MAIN_PATH + SEPARATOR + "resources"; } /** * 从字节码位置推测 java源文件的路径 (只是推测,慎用) *
    *
  • 在 test , dev 环境下运行
  • *
  • 不要 prod 下使用该方法
  • *
* * @param clazz 目标类 * @return 目标类的 java 绝对路径 */ @NotNull public static String getTryJavaAbsolutePath(Class clazz, EnvType envType) { return getProjectJavaPath(clazz, envType) + SEPARATOR + packageToPath(clazz); } /** * 从字节码位置推测 java源文件的路径 (包含文件名) (只是推测,慎用) *
    *
  • 在 test , dev 环境下运行
  • *
  • 不要 prod 下使用该方法
  • *
* * @param clazz 目标类 * @return 目标类的 java 绝对路径 */ @NotNull public static String getTryJavaAbsolutePathWithName(Class clazz, EnvType envType) { return getTryJavaAbsolutePath(clazz, envType) + SEPARATOR + clazz.getSimpleName() + ".java"; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy