springboot 获取路径

@PostConstructpublic void setup() {try {// jar包所在目录  /Users/mashanshanString path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();System.out.println("path:" + path);  // file:/Users/mashanshan/manual-admin-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/ApplicationHome home = new ApplicationHome(getClass());File jarFile1 = home.getSource();String path0 = jarFile1.getParentFile().toString();System.out.println("path0: " + path0);  // /Users/mashanshanString path1 = ManualController.class.getClassLoader().getResource("").getPath();System.out.println("path1: " + path1);  // file:/Users/mashanshan/manual-admin-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/String path2 = System.getProperty("user.dir");System.out.println("path2:" + path2);  // /Users/mashanshanFile path3 = new File(ResourceUtils.getURL("classpath:").getPath());System.out.println("path3:" + path3.getAbsolutePath());  // /Users/mashanshan/file:/Users/mashanshan/manual-admin-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!File path4 = new File("");System.out.println("path4:" + path4.getAbsolutePath());  ///Users/mashanshan} catch (FileNotFoundException e) {throw new RuntimeException(e);}}

开发环境运行输出:
path:/Users/mashanshan/gitresp/manual-server/manual-admin/target/classes/
path0: /Users/mashanshan/gitresp/manual-server/manual-admin/target
path1: /Users/mashanshan/gitresp/manual-server/manual-admin/target/classes/
path2:/Users/mashanshan/gitresp/manual-server
path3:/Users/mashanshan/gitresp/manual-server/manual-admin/target/classes
path4:/Users/mashanshan/gitresp/manual-server

直接运行jar包输出:
path:file:/Users/mashanshan/manual-admin-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/
path0: /Users/mashanshan
path1: file:/Users/mashanshan/manual-admin-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/
path2:/Users/mashanshan
path3:/Users/mashanshan/file:/Users/mashanshan/manual-admin-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!
path4:/Users/mashanshan

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/220076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP中的trait是什么?

Trait 是 PHP 中一种代码复用的机制,允许在类之间复用方法集合。Trait 提供了一种方式,使得类可以在不使用继承的情况下引入和重用方法。Trait 是一种水平代码复用机制,与类的继承机制不同,一个类可以使用多个 Trait。 以下是 Tr…

SIM初始化流程

ATR ATR(Answer To Reset):复位应答信号,有SIM卡传输给终端,包括SIM卡自身的一些信息,比如支持的传输速率,传输模式等。 SIM卡的ATR代表"Answer to Reset",即复位响应。当SIM卡被插入设备中时…

Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯

目录 一、字符设备驱动程序框架 编写驱动程序的步骤: 对于 LED 驱动,我们想要什么样的接口? LED 驱动能支持多个板子的基础:分层思想 二、Linux驱动如何指向一个GPIO 直接通过寄存器来操作GPIO 利用引脚号操作GPIO IMX6UL…

Narayana事务回滚流程

Narayana 事务回滚流程 当用户手动调用 connection.rollback() 回滚当前全局事务时,会走如下流程。 总体流程 遍历每个 resource执行 xa end;执行 xa rollback; 清理缓存使用 TransactionManager transactionManager jtaPropertyManager.getJTAEnvironmentBean…

算法通关村第十八关-黄金挑战回溯困难问题

大家好我是苏麟 , 今天带来几道回溯比较困难的题 . 回溯有很多比较难的问题,这里我们看两个,整体来说这两个只是处理略复杂,还不是最难的问题 . 大纲 IP问题 IP问题 描述 : 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 …

redis:一、面试题常见分类+缓存穿透的定义、解决方案、布隆过滤器的原理和误判现象、面试回答模板

redis面试题常见分类 缓存穿透 定义 缓存穿透是一种现象,引发这种现象的原因大概率是遭到了恶意攻击。具体就是查询一个一定不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致这个数据的每次请求都需要查DB,数据库压力…

# 和 $ 的区别①

# 和 $ 都是为了获取变量的值 # 和 $ 区别 : 使用 # 查询 id 为 1 的内容 如果看不懂代码,就去看<<Mybatis 的操作(结合上文)续集>>,我这里为了简练一点就不多解释了 Select("select * from userInfo where id #{id}")UserInfo selectOne(Integer id…

Hive命令操作

1.命令行模式 1. 获取帮助 --> hive -H 或-help 2. 运行hive语句 --> hive -e "执行语句" 3. 运行hive文件 --> hive –f "执行文件" 4. 定义变量 --> hive –hivevar keyvalue 5. 引用变量 --> ${varname} 2. 交互模式 1. 进入客户端 -…

【UE 材质】切换颜色、纹理时的过渡效果

效果 步骤 1. 新建一个工程&#xff0c;创建Basic关卡 2. 创建一个材质&#xff0c;这里命名为“M_Plane”&#xff0c;打开这个材质&#xff0c;在材质图表中添加如下节点 注意“Noise”节点中的函数选择“Voronoi” 3. 对材质“M_Plane”创建材质实例 4. 在场景中放置一个平…

模型权重文件的保存与加载

一般地&#xff0c;在训练过程中有可能会因为某些原因导致训练过程的终止&#xff0c;尤其是在训练一些大型模型的时候&#xff0c;所以在训练过程中保存权重文件是很有必要的&#xff0c;要不然训练好几天的代码又要重新跑了 下面来讲一下通常权重文件中都保存一些什么内容&a…

【SpringBoot】FreeMarker视图渲染

目录 一、FreeMarker 简介 1.1 什么是FreeMarker&#xff1f; 1.2 Freemarker模板组成部分 1.3 为什么要使用FreeMarker 二、Springboot集成FreeMarker 2.1 配置 2.2 数据类型 2.2.1 字符串 2.2.2 数值 2.2.3 布尔值 2.2.4 日期 2.3 常见指令 2.3.2 assign 2.3…

docker compose部署wordpress

准备机器&#xff1a; 192.168.58.151 &#xff08;关闭防火墙和selinux&#xff09; 安装好docker服务 &#xff08;详细参照&#xff1a;http://t.csdnimg.cn/usG0s 中的国内源安装docker&#xff09; 部署wordpress: 创建目录&#xff1a; [rootdocker ~]# mkdir…

docker-compose容器编排(单机一键拉起所有容器)

1、安装docker-compose实验 安装完成 2、yaml文件 &#xff08;1&#xff09;定义 一种直观的、以竖列形式展示序列化数据格式的标记语言&#xff0c;可读性高。类似于json格式&#xff0c;但语法简单 yaml通过缩进表示数据结构&#xff0c;连续的项目用-减号表示 &#x…

高阶函数(js的问题)

&#xff08;1&#xff09;函数可以作为参数被传递 &#xff08;2&#xff09;函数可以作为返回值输出 4-1.函数作为参数传递 Array.prototype.sort方法&#xff1a; var array [10,5,12,3];array.sort();//array:[10,12,3,5]//如代码那样&#xff0c;排序的结果并不是我们想要…

【教程】查看GPU与PCIe版本和匹配速率

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] PCIe理论速度对照表 bash脚本 #!/bin/bash# 查找所有 NVIDIA GPU 设备的设备ID及其类型 device_info$(lspci | grep -i nvidia | egrep "VGA compatible controller|3D controller" | awk {print $1, …

C# WPF上位机开发(动态库dll的开发)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多时候&#xff0c;我们并不希望所有的程序都放到一个exe里面。因为这样相当于把所有的风险都放在了一个文件里里面&#xff0c;既不利于程序的升…

完全平方数 C语言xdoj49

问题描述 若一个整数n能表示成某个整数m的平方的形式&#xff0c;则称这个数为完全平方数。写一个程序判断输入的整数是不是完全平方数。 输入说明 输入数据为一个整数n&#xff0c;0<n<10000000。 输出说明 如果n是完全平方数&#xff0c;则输出构成这个完全…

mysql的CHAR和VARCHAR类型

MySQL :: MySQL 8.2 Reference Manual :: 11.3.2 The CHAR and VARCHAR Types CHAR和VARCHAR两个数据类型类似&#xff0c;但在存储和取回方面不同、最大长度不同、结尾的空格是否保留方面不同。一个列声明为CHAR、或者VARCHAR类型&#xff0c;要指明一个长度&#xff0c;这个长…

Simple Water Caustic Pattern In Unity ShaderGpaph

shadertoy上有各种神奇的效果&#xff0c;以我的见识根本想象不到这些是怎么弄出来的。 不过不会做至少可以先会用。 这篇文章抓取一个shadertoy的示例以制作一个测试效果。 参考这篇shadertoy&#xff0c;使用自定义节点装填hlsl的noise代码 Shader - Shadertoy BETA 首先使…

洛谷P1722 矩阵Ⅱ——卡特兰数

传送门&#xff1a; P1722 矩阵 II - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1722 用不需要除任何数的公式来求。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<cmath> #includ…