这可能是不可能的,但我想我会问只是为了确定。我有一个批处理文件,它使用相对路径启动我的 java 应用程序。IE。我有:
应用程序\start.bat 应用程序\lib*.jar
我的应用程序在 Application 目录中创建了一个配置文件。我的批处理脚本使用相对路径指向 lib 目录 jar。这对我来说非常有效,因为我可以将程序移动到任何我想要的地方,它就会运行。但是现在我希望能够从命令行调用同一个应用程序,而不仅仅是从工作目录设置为应用程序的快捷方式。问题是我希望能够从命令行上的任何目录调用我的应用程序,但现在这不起作用,因为工作目录会有所不同。
我知道我总是可以在我的应用程序中为工作目录添加另一个参数,但是我仍然必须创建一个批处理脚本,其中包含指向我的应用程序的硬编码路径。在 Java 中有没有办法解决这个问题,例如获取我的主 java 文件所在的目录在工作目录之上?也许有启动器应用程序?
我无法将我的应用程序捆绑为 jar,因为它会创建我希望与应用程序位于同一目录中的配置文件。