【发布时间】:2022-01-31 12:16:26
【问题描述】:
我需要使用 NodeJS 提取一个 JAR 文件,但我不知道怎么做,我也不确定 StackOverFlow 是否适合这个地方,如果不是,很抱歉。
【问题讨论】:
-
是的,我已经查过了,我已经找了好几个小时了。我什么都找不到。
标签: javascript java node.js jar extract
我需要使用 NodeJS 提取一个 JAR 文件,但我不知道怎么做,我也不确定 StackOverFlow 是否适合这个地方,如果不是,很抱歉。
【问题讨论】:
标签: javascript java node.js jar extract
所以 jar 文件只是 java 存档文件,可以使用任何常用的操作系统工具(如 unzip 或 jar)解压缩,因此像 jar xvf /path/to/file.jar 或 unzip /path/to/file.jar 这样的简单命令应该可以提取任何 .jar 文件。但是既然你想用nodeJS来做,你可以利用node js代码模块中的exec函数child_process。
你可以创建一个简单的函数来接收jar文件的路径
const exec = require('child_process').exec;
extractJar(path) => {
const command = `jar xvf ${path}`;
exec(command, (err, stdout) => {
if(err) console.log(err); return;
console.log('success!');
})
}
或者,您可以尝试使用 unzipper 之类的库,这些库不依赖于您的操作系统工具,因为 exec 命令只是在您的 shell 上执行该进程,但这些库使用您的节点 js IO 操作进行提取。
【讨论】:
Unhandled rejection Error: invalid signature: 0xa20200a。如果您知道如何解决这个问题,那就太好了,但如果不知道,那么您知道我可以使用您的解决方案在 Windows 上解压缩文件的方法吗?
jar xvf /path/to/.jar如果这工作上面的sn-p应该
Error: Command failed: jar xvf "C:\Users\redacted\OneDrive\Desktop\MC Plugin Finder\plugins-without-dependencies\goPaint.jar" java.util.zip.ZipException: zip END header not found