关于前端:关于execa执行command命令报错-unable-to-access-jarfile-jar

因为装置的文件目录名蕴含空格,所以找不到jar包而报错。

看上图可知,当命令中蕴含空格须要本义才能够。

let sourcePath = process.env.NODE_ENV === 'development' ? 'D:\\work\\gateway-desktop\\extraResources' : process.resourcesPath + '\\extraResources'
let commandStart = 'java -jar -Dspring.datasource.primary.jdbc-url=jdbc:sqlite:"' + sourcePath + '\\yinglink-pacs.sqlite" -Dspring.datasource.second.jdbc-url=jdbc:sqlite:"' + sourcePath + '\\yinglink-pacs.sqlite" "' + sourcePath + '\\yinglink-pacs.jar"'
let commandStop = 'wmic process where (commandline LIKE "%%yinglink-pacs%%" and caption="java.exe") call terminate'

execa(commandStart).then(result => {
    console.log('stop')
    console.log(result.stdout)
})

将每个文件地址用 “” 双引号包裹起来即可,示例如下:

java -jar -Dspring.datasource.primary.jdbc-url=jdbc:sqlite:"D:\\Program Files\\yl-pacs\\resources\\extraResources\\yinglink-pacs.sqlite" -Dspring.datasource.second.jdbc-url=jdbc:sqlite:"D:\\Program Files\\yl-pacs\\resources\\extraResources\\yinglink-pacs.sqlite" "D:\\Program Files\\yl-pacs\\resources\\extraResources\\yinglink-pacs.jar"

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理