jar包同目錄生成文件實(shí)現(xiàn)方式
jar包同目錄生成文件
windows的java程序
打包成jar包,放到linux下運(yùn)行,執(zhí)行在jar包同目錄下生成json文件,但是注意比如我執(zhí)行
java -jar /path/to/testapikey/canon2-0.0.1-SNAPSHOT.jar
這個(gè)時(shí)候你的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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
IISExpress?配置允許外部訪問(wèn)詳細(xì)介紹
這篇文章主要介紹了?IISExpress?配置允許外部訪問(wèn)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11
java中樂(lè)觀鎖與悲觀鎖區(qū)別及使用場(chǎng)景分析
本文主要介紹了java中樂(lè)觀鎖與悲觀鎖區(qū)別及使用場(chǎng)景分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
java IO實(shí)現(xiàn)電腦搜索、刪除功能的實(shí)例
下面小編就為大家?guī)?lái)一篇java IO實(shí)現(xiàn)電腦搜索、刪除功能的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
Spring MVC學(xué)習(xí)教程之RequestMappingHandlerAdapter詳解
這篇文章主要給大家介紹了關(guān)于Spring MVC學(xué)習(xí)教程之RequestMappingHandlerAdapter的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
Java使用@EnableEurekaServer實(shí)現(xiàn)自動(dòng)裝配詳解
這篇文章主要介紹了Java使用@EnableEurekaServer實(shí)現(xiàn)自動(dòng)裝配過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-10-10
Java微服務(wù)實(shí)戰(zhàn)項(xiàng)目尚融寶接口創(chuàng)建詳解
這篇文章主要介紹了Java微服務(wù)實(shí)戰(zhàn)項(xiàng)目尚融寶的接口創(chuàng)建流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08

