当前位置: 首页 > java >正文

jar包同目录生成文件

windows的java程序,打包成jar包,放到linux下运行,执行在jar包同目录下生成json文件,但是注意比如我执行
java -jar /path/to/testapikey/canon2-0.0.1-SNAPSHOT.jar
这个时候你的json文件要和jar包同一位置,而不是当前pwd的路径

package com.example.canon2;import java.io.File;
import java.net.URL;
import java.security.CodeSource;public class JsonFilePathUtil {public static File getJsonFileInJarDir(String jsonFileName) throws Exception {CodeSource codeSource = JsonFilePathUtil.class.getProtectionDomain().getCodeSource();if (codeSource != null) {URL location = codeSource.getLocation();if (location != null) {String urlStr = location.toString();// 处理 jar:file:/path/to/your.jar!/ 这种格式if (urlStr.startsWith("jar:")) {urlStr = urlStr.substring(4, urlStr.indexOf("!"));}if (urlStr.startsWith("file:")) {File jarFile = new File(new URL(urlStr).toURI());File jarDir = jarFile.isFile() ? jarFile.getParentFile() : jarFile;if (jarDir != null) {return new File(jarDir, jsonFileName);}}}}// fallback: 当前工作目录return new File(jsonFileName);}public static void main(String[] args) throws Exception {File jsonFile = getJsonFileInJarDir("result.json");System.out.println("json file path: " + jsonFile.getAbsolutePath());// 这里可以继续写入 json 文件}
}
http://www.xdnf.cn/news/9717.html

相关文章:

  • Linux环境下多进程Socket通信实现
  • 前端面试核心考点全解析
  • Learning Discriminative Data Fitting Functions for Blind Image Deblurring论文阅读
  • C语言编程--20.合并K个升序列表
  • MFC坦克大战游戏制作
  • 禾纳ATE3156AP/ATE3156AS,P沟道增强型MOSFET,替代AO4805方案
  • 数据可视化的定义和类型
  • 基于多尺度卷积和扩张卷积-LSTM的多变量时间序列预测
  • 1、Pytorch介绍与安装
  • C++ RB_Tree
  • 数据仓库分层 4 层模型是什么?
  • 请问Java方法可以同时即是static又是synchronized的吗?
  • 国内高频混压PCB厂家有哪些?
  • react-color-palette源码解析
  • Unity 快捷键
  • Python 字符串入门指南
  • 循环神经网络(RNN)模型
  • vue3 + WebSocket + Node 搭建前后端分离项目 开箱即用
  • 执行npm命令报在此系统禁止运行脚本
  • 多模态大语言模型arxiv论文略读(九十九)
  • 【深度学习】11. Transformer解析: Self-Attention、ELMo、Bert、GPT
  • 【深度学习:进阶篇】--2.3.深度学习正则化
  • 通过远程桌面连接Windows实例提示“出现身份验证错误,无法连接到本地安全机构”错误怎么办?
  • 【Python零基础入门系列】第6篇:Python 的数据结构世界(列表、字典、集合、元组)
  • 深入解析ThreadPoolExecutor设计精髓
  • 数字孪生数据监控如何提升汽车零部件工厂产品质量
  • EasyRTC音视频实时通话助力微信小程序:打造低延迟、高可靠的VoIP端到端呼叫解决方案
  • 园区智能化集成平台汇报方案
  • uniapp 实现腾讯云 IM 消息已读回执
  • Ubuntu Zabbix 钉钉报警