jar包同目錄生成文件實現(xiàn)方式
更新時間:2025年11月20日 08:37:01 作者:cmdch2017
文章介紹了如何在Windows環(huán)境下將Java程序打包成jar文件,并在Linux環(huán)境下運行時生成JSON文件,關(guān)鍵點是確保生成的JSON文件與jar包在同一目錄下,而不是當(dāng)前工作目錄(pwd)
jar包同目錄生成文件
windows的java程序
打包成jar包,放到linux下運行,執(zhí)行在jar包同目錄下生成json文件,但是注意比如我執(zhí)行
java -jar /path/to/testapikey/canon2-0.0.1-SNAPSHOT.jar
這個時候你的json文件
要和jar包同一位置,而不是當(dāng)前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: 當(dāng)前工作目錄
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());
// 這里可以繼續(xù)寫入 json 文件
}
}
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis中xml的動態(tài)sql實現(xiàn)示例
本文主要介紹了Mybatis中xml的動態(tài)sql實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
如何在IDE部署springboot項目(有swagger和無swagger都是一樣的)到服務(wù)器或者虛擬機上的docke
這篇文章主要介紹了如何在IDE部署springboot項目(有swagger和無swagger都是一樣的)到服務(wù)器或者虛擬機上的docker,本文給大家分享我的安裝歷程,需要的朋友可以參考下2023-01-01
Java開發(fā)環(huán)境jdk 1.8安裝配置方法(Win7 64位系統(tǒng)/windows server 2008)
這篇文章主要介紹了Java開發(fā)環(huán)境配置方法(Win7 64位系統(tǒng)/windows server 2008),需要的朋友可以參考下2016-10-10
Java中綴表達(dá)式轉(zhuǎn)后綴表達(dá)式流程詳解
中綴表達(dá)式是一個通用的算術(shù)或邏輯公式表示方法。,中綴表達(dá)式不容易被計算機解析,但仍被許多程序語言使用,因為它符合人們的普遍用法。本文介紹了實現(xiàn)中綴表達(dá)式的方法,需要的可以參考一下2022-09-09

