首先通过:java.lang.management包提供的接口获取当前进程ID;接下来利用wmic命令根据进程ID获取进程exe的目录。代码如下:

/**

* Windows下获取运行当前程序的java.exe完整路径

* 返回示例:C:\Program Files\Java\jdk1.8.0_191\bin\java.exe

*

* @return

*/

public static String getCurrentJavaHome() {

try {

//获取程序自己的pid

String pid = ManagementFactory.getRuntimeMXBean().getName().split("@")[0];

//执行wmic命令获取自己被那个java.exe执行

String command = String.format("wmic process %s GET ExecutablePath", pid);

Process process = Runtime.getRuntime().exec(command);

List lines = IOUtils.readLines(process.getInputStream(), "UTF-8");

//等待执行完毕

process.waitFor();

for (String line : lines) {

if (line.contains("\\")) return line.trim();

}

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

java exe 路径_Java程序获取执行自己的java.exe路径相关推荐

  1. java代码获取项路径_Java中获取各种路径的方法盘点

    Java代码中获取路径 假设当前项目路径为:D:/wunian/workspace/JavaProject,现在来分别获取此项目中的各种路径. 1.获取资源文件(.class文件)所在路径(四种方式) ...

  2. java调用shell命令并获取执行结果

    java调用shell命令并获取执行结果 使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取 [plain] view plain cop ...

  3. 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程)

    本篇记录说明 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程,详细内容可私信交流) (第一次写博客,写得不好的地方见谅,面向新手,大佬请无视,不喜勿喷 ...

  4. jav中什么是组织java程序_Java程序的执行过程中用到一套JDK工具,其中javaprof.exe是指()。A.Java调试器B.Java剖析工具C.Jav...

    Java程序的执行过程中用到一套JDK工具,其中javaprof.exe是指().A.Java调试器B.Java剖析工具C.Jav 更多相关问题 "投资收益"账户属于(). A.损 ...

  5. java资源文件路径_Java 中获取资源(文件)的路径问题总结

    Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的. 1. 基于文件系统的相对简单. 比如 构造一个File f ...

  6. java application 路径_java项目获取根路径(web项目和application项目的区分)

    Java项目中经常要读取配置文件,涉及到读取配置文件的地方,就会要读定位文件的路径.因此,在项目如何正确获取文件路径尤为关键. 根据不同的java项目,在获取文件路径时候有一些 小区别 测试环境:E: ...

  7. 如何查看java项目的路径_java如何获取项目路径?

    java如何获取项目路径? java获取项目路径的方法: 1.项目路径,就是指classpath的根路径了. 是查找配置文件和classloader加载bytecode的起点 这次就以IntelliJ ...

  8. java中怎么找类的路径_Java中获取类加载路径和项目根路径的5种方法

    public class MyUrlDemo { public static void main(String[] args) { MyUrlDemo muDemo = new MyUrlDemo() ...

  9. java中获取路径_java中获取路径的几种基本的方法

    package com.ygh.blog.realpath; import java.io.File; import java.io.IOException; import java.io.Input ...

最新文章

  1. 使用diamond2的一些问题的解决
  2. 轮距和轴距有什么区别_为什么很多国产车都设计得窄高窄高的,是为了节省成本吗?...
  3. Erlang中使用变量的简单示例
  4. 一步步编写操作系统 48 加载内核1
  5. linux 网络协议栈变化,ZZ Linux网络协议栈学习
  6. Unity Text 插入超链接
  7. C语言 int y=10 do,删除学生信息算法执行完case10输入y 之后do whil
  8. Redis主从复制、哨兵模式和分布式集群
  9. objective-C 数据类型转换
  10. html整体布局居中,HTML实现常见居中布局
  11. MarkDown的下载、安装和基础使用
  12. MATLAB判断梅森素数,指数式的梅森素数和斐波那契素数有无穷多个获证
  13. openGL之API学习(一二七)dFdx、dFdy偏导数
  14. 有些人的恨是没有原因的,他们平庸、没有天分、碌碌无为,于是你的优秀、你的天赋、你的善良和幸福都是原罪。
  15. 微信小程序开发学习小结之tabBar组件
  16. 个人永久性免费-Excel催化剂功能第95波-地图数据挖宝之IP地址转地理地址及不同经纬度版本转换...
  17. c++ 提取傅里叶描述子_SQL 子查询的优化
  18. 【附源码】计算机毕业设计java疫情期间优化旅游平台设计与实现
  19. 手机GPS天线设计对GPS定位有影响
  20. 限制别人用wifi 手机就可以

热门文章

  1. 在CentOS 7上安装使用Kubernetes:管理云平台多个主机上的容器化应用
  2. glibc:fd_set机制
  3. Gtk的entry传递数据到内部程序
  4. dsge模型难做吗_百度Seo优化好做吗,现在做是不是越来越难做?
  5. webapi 路由限制命名控件_什么是命名数据网络NDN?
  6. 信号方面概念解释(笔记04)
  7. java api 第一个类是_JAVA之Object常用API
  8. 2003引脚功能电压_《线性稳压器系列》1:从线性稳压器的原理,功能及类型说起......
  9. 【Warning】Unity2021.1将不兼容之前版本ECS
  10. Ubuntu 19.10 将于本月结束生命周期