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的认识相关推荐
- java user.dir 设置_使用java系统属性user.dir读取配置文件
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Pr ...
- java word 颜色设置_如何在Java中为word文档(.doc或.docx)设置背景颜色(页面颜色)?...
通过像http://poi.apache.org这样的库,我们可以用任何文本颜色创建word文档,但是对于文本的背景或突出显示,我没有找到任何解决方案. 手动方式的单词页面颜色!: 这是我通过poi. ...
- java word 颜色设置_通过Java设置Word页面背景色过程详解
前言 Word中可以针对不同文档排版设计要求来设置背景设置颜色.常见的可设置单一颜色.渐变色或加载图片来设置成背景.下面通过Java来设置以上3种Word页面背景色. 使用工具:Spire.Doc f ...
- java word 颜色设置_如何为Word文档在Java中的背景颜色
展开全部 用第三方吧,比较方便,参考下Free Spire.Doc for Java的方法,这个是免费版,直接用可以了.62616964757a686964616fe58685e5aeb9313334 ...
- java 句柄数 设置_修改操作系统句柄数和用户进程数
对于一般的应用来说(像Apache.系统进程)1024完全足够使用.但是像squid.mysql.java等单进程处理大量请求的应用来说就有点捉襟见肘了.如果单个进程打开的文件句柄数量超过了系统定义的 ...
- java 句柄数 设置_技术文档(2)--Linux 句柄数设置情况,问题:java.io.IOException: Too many open files...
打开的文件过多,一般来说是由于应用程序对资源使用不当造成,比如没有及时关闭Socket或数据库连接等.但也可能应用确实需要打开比较多的文件句柄,而系统本身的设置限制了这一数量. 第一个异常在错误影响到 ...
- java 堆栈大小设置_如何增加Java堆栈的大小?
如何增加Java堆栈的大小? 我问这个问题是为了了解如何在JVM中增加运行时调用堆栈的大小.我已经得到了这个问题的答案,我还得到了许多有用的答案和评论,涉及到Java如何处理需要大型运行时堆栈的情况. ...
- eclipse java启动参数设置_[Java教程]eclipse.ini配置eclipse的启动参数
[Java教程]eclipse.ini配置eclipse的启动参数 0 2013-09-28 01:00:11 Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$EC ...
- java星空屏幕_[Java教程]窗口设置_星空网
窗口设置 2016-04-13 0 /** * 这个是GUI的事例程序: * */ package w160412.wang.main;import java.awt.Color; import ja ...
最新文章
- 调焦后焦实现不同距离成像_如何用手机拍出单反的效果,系列学习(一)AF参数“自动调焦”...
- 【Android framework】AndroidManagerService初始化流程
- 企业级整站集群数据备份项目方案详解
- sublime c语言如何编译,Sublime Text 3 实现C语言代码的编译和运行(示例讲解)
- (19)FPGA乒乓操作
- UI实用素材|电商购物类APP界面设计原则!
- 努力培养自己对项目的主人翁意识
- iOS VideoToolBox decoder解码失败(-12909和-12911)问题解决
- oracle-pl/sql之二
- 【联合路由频谱分配】多跳认知无线电网络中的联合路由和动态频谱分配的matlab仿真与分析
- 利用简单电阻分压原理自动测量电阻
- 【Python05】Python转义字符
- 广东省考计算机类的比例,广东公务员考试22.4万人参加 竞争比例为19:1
- 是时候来一发炸裂的开场了!
- 文件查找,打包压缩,解压相关分享
- Bingo NFT 如何帮助交易者和投资者分析市场
- phpStudy无法打开http://localhost/
- 每月一书(202112):《王阳明心学》
- Linux批量添加10个用户stu01,stu02....stu10,并设置8位随机密码
- 混合蛙跳算法实现步骤与例子
热门文章
- Android 学习笔记-时间_日期_记时器_倒计时器
- html fmt转换日期格式,JSP JSTL fmt:parseDate标签:转换为时间
- php安全新闻早八点-Microdoor-第一季
- 用c语言计算运费.c
- 《数据库概论》实验(3)-交互式SQL--简单查询
- 使用 T-SQL 语句完成单表数据检索
- 2021年CS保研经历(一):北邮CS夏令营、北师大AI夏令营、天津大学CS夏令营
- 装机员 Ghost Win7 Sp1 64位纯净贺岁版2017
- Android 解决RecyclerView瀑布流刷新之后Item位置改变
- Bancor协议丨EKT多链技术通往新区块世界的大桥