Java 通过jvm以相对路径启动.jar文件

Java 通过jvm以相对路径启动.jar文件,java,path,jvm,Java,Path,Jvm,因此,我所处的情况是,我无法将动态路径解析为完全限定路径。(即./file.jar无法翻译为C:\dir\file.jar) 是否有任何方法可以在不需要指定完整路径的情况下启动.jar文件 我希望能够按照以下思路做一些事情:java.exe-magicpathargument./“-jar program.jar”其他参数“ 我已经检查了-DPath、-p和-cp。它们都不能按预期正常工作为什么不使用java-jar mypath/xyz/file.jar,或者任何与操作系统和shell兼容的路

因此,我所处的情况是,我无法将动态路径解析为完全限定路径。(即./file.jar无法翻译为C:\dir\file.jar)

是否有任何方法可以在不需要指定完整路径的情况下启动.jar文件

我希望能够按照以下思路做一些事情:
java.exe-magicpathargument./“-jar program.jar”其他参数“


我已经检查了-DPath、-p和-cp。它们都不能按预期正常工作

为什么不使用java-jar mypath/xyz/file.jar,或者任何与操作系统和shell兼容的路径?不幸的是,它不是shell。具体来说,它是通过一个toml文件通过win32 api调用启动的。所以,你真正的问题是,如何用你没有命名的win32 api指定当前目录?我的意思是,这在技术上是可行的,但前提是你能用文本(即不是代码)定义它。我也不想依赖一个只使用windows的黑客程序,但它至少可以作为一个起点。我怀疑真正的解决方案是在我正在使用的项目中提交一个bug/feature请求,但我认为这可能值得一试。没有
-magicpathargument
,因为
-jar
选项在指定了相对路径并且每个进程都有一个当前目录时总是相对于当前目录工作。这不是Windows特有的东西。如果您正在使用的项目不提供对当前目录的控制,那么修复它确实是正确的方法。