日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java user.dir 设置_关于user.dir的认识

發布時間:2023/12/9 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java user.dir 设置_关于user.dir的认识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近閱讀了一些tomcat源碼,看到tomcat在讀取jar包外配置文件,是將“user.dir”的路徑作為home path文件即

通過System.getProperty("user.dir")找到相關配置。然后自己做了一些嘗試,發現在eclipse執行的時候,

這個user.dir指向工程目錄下,貌似是想要的結果,但是繼續試驗發現,當用于一個windows services

來啟動這個jar包的時候,發現沒有按照預期的方式將日志寫在jar包同目錄下打印出來,

十分困惑,后來進一步查看tomcat相關源碼,注意到在commons-daemon(c++)源碼中,啟動jar包前,使用了SetCurrentDirectoryW(SO_STARTPATH)設定了當前exe所在的路徑為當前的工作目錄,這就是問題點,

設定以后jar包內獲取的"user.dir",就為當前的exe所在路徑(jar包和exe放在同一個路徑下)。

查閱了一些關于"user.dir"的資料,有如下等解釋:

1. "user.dir":User's?current?working?directory ?(官方) 其實不太好理解

2.?就是運行dos命令的那個目錄:

例如:

C:\Documents?and?Settings\user>java?xxx

就是指的C:\Documents?and?Settings\user這個目錄

(在哪里java?哪里就是你的working?directory.)

3. 用戶當前程序運行的路徑(用戶當前工作目錄)

這個有點豁然開朗的感覺,想想看,執行service的時候,其實已經有了當前的運行程序的路徑,而不是exe具體執行的路徑

進過測試打印是這個路徑: ? C:\Windows

所以需要通過SetCurrentDirectory重新設定一下。

總結

以上是生活随笔為你收集整理的java user.dir 设置_关于user.dir的认识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。