我正在编写一个Java程序,该程序应该是GUI前端,它利用三级C程序为各种标签生成一些值。
但我不想硬编码C程序的路径。我只是希望Java程序在假设它与我运行Java程序的目录相同的情况下执行C程序(否则会出现错误消息)。
我之前从未使用过processbuilder,所以我会欣赏大量的例子:)
答案 0 :(得分:3)
获取包含当前Java代码的jar路径的一种方法如下(其中“THISCLASS”是类的名称):
URL jarURL = THISCLASS.class.getProtectionDomain().getCodeSource().getLocation();
String jarPath = jarURL.getPath();
File file = new File( jarPath );
给定jar文件的路径,您可以使用java.io.File API来传递可执行文件的相对路径。