run(`java -jar xxx.jar`)的问题

Julia-1.4.0版本
我在startup.jl里面添加了
ENV["Path"]="F:\\Julia-1.4.0\\.julia\\packages\\pdf2svg\\dist-64bits"
(这是我某一个包的依赖项,要在添加到系统的环境变量里)
运行run('java -jar xxx.jar'),报错:
ERROR: LoadError: IOError: could not spawn java -jar CDKdata.jar: no such file or directory (ENOENT)
删掉startup.jl里的内容就可以正常运行
Process(java -jar xxx.jar, ProcessExited(0))`
问题在哪里呢?路径不对了吗

我不清楚julia里怎么设置PATH, 我感觉设置PATH还要把之前的path带上吧, 你这样一写就把之前的有的PATH搞丢了

julia> ENV["PATH"]
"/opt/julia-1.4.2/bin:/opt/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/snap/bin:/opt/node-v12.18.1-linux-x64/bin:~/.ruby/bin"

julia> ENV["PATH"]="/opt/julia-1.4.2/bin"
"/opt/julia-1.4.2/bin"

julia> ENV["PATH"]
"/opt/julia-1.4.2/bin"

可以,搞定了,我是这么改的
ENV["Path"]=ENV["Path"]*"F:\\Julia-1.4.0\\.julia\\packages\\pdf2svg\\dist-64bits"

1 个赞

如果修改 ENV 的话会修改全局的path,并且在一些会重制PATH的shell里会不能运行(比如vscode的REPL里),比较好的方法是使用 withenv 在一个shell环境里运行相关的指令。

具体怎么用能细讲一下吗