在我的 Java 程序中,我使用命令行库来分叉 Java 进程。java.exe -jar
当我在调用中传递的 JAR 文件的文件路径超过 Windows 的 260 个字符路径长度限制时,这将失败(取决于程序的使用方式) 。(错误消息Error: Unable to access jarfile
后跟路径名。)我可以通过(手动)向\\?\
JAR 文件名添加前缀来使 Java 调用工作。这解决了一个特定的问题实例,但这通常是正确的方法吗?
我是否应该期望 Windows 程序正确处理作为命令行参数传递的长路径,或者 - 检测长路径并添加\\?\
前缀是调用者的责任吗?
或者不那么笼统:命令行库或命令行库中是否存在错误java.exe
?