java – ProcessBuilder在包含本地环境变量的命令上失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – ProcessBuilder在包含本地环境变量的命令上失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1704字,纯文字阅读大概需要3分钟。
内容图文
![java – ProcessBuilder在包含本地环境变量的命令上失败](/upload/InfoBanner/zyjiaocheng/754/b712d2aba90449228251660cfd94da78.jpg)
我可以在Linux上执行通常的命令,由processBuilder包装.但是我正在尝试运行Minecraft服务器,如下例所示,在命令之前设置了一些变量,并且它失败并出现异常.
final ProcessBuilder processBuilder = new ProcessBuilder("LD_LIBRARY_PATH=. ./bedrock_server");
processBuilder.directory(MC_PAL_LOCATION_DIR.toFile());
process = processBuilder.start();
例外:
java.io.IOException: Cannot run program "LD_LIBRARY_PATH=. ./bedrock_server" (in directory "/home/user/Desktop/minecraft_bedrock_server_t"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at controller.Server.startMinecraftServer(Server.java:91)
at controller.Server.start(Server.java:58)
at Bootstrapper.bootServer(Bootstrapper.java:67)
at Bootstrapper.main(Bootstrapper.java:30)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 4 more
Exception in thread "Thread-0" java.lang.NullPointerException
at controller.ConsoleInput.run(ConsoleInput.java:16)
at java.lang.Thread.run(Thread.java:748)
是否有可能将processBuilder用于此类命令?如果我将它直接粘贴到终端,该命令有效.
链接到服务器:https://minecraft.net/en-us/download/server/bedrock/
命令:LD_LIBRARY_PATH =. ./bedrock_server
解决方法:
如果没有bash,你不能使用这样的bash shell命令.但您可以通过编程方式自行操作环境.喜欢,
final ProcessBuilder processBuilder = new ProcessBuilder("./bedrock_server");
processBuilder.environment().put("LD_LIBRARY_PATH", ".");
processBuilder.directory(MC_PAL_LOCATION_DIR.toFile());
process = processBuilder.start();
内容总结
以上是互联网集市为您收集整理的java – ProcessBuilder在包含本地环境变量的命令上失败全部内容,希望文章能够帮你解决java – ProcessBuilder在包含本地环境变量的命令上失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。