首先,我知道可以使用命令行中的jar
解压WAR文件。
问题是,在目标机器上,只安装了JRE,没有安装JDK。我们不能依赖Windows来解压文件,因为它不支持长路径。
当您只安装了JRE时,如何在命令行中解压WAR文件呢?
首先,我知道可以使用命令行中的jar
解压WAR文件。
问题是,在目标机器上,只安装了JRE,没有安装JDK。我们不能依赖Windows来解压文件,因为它不支持长路径。
当您只安装了JRE时,如何在命令行中解压WAR文件呢?
WAR文件只是一个ZIP文件,您可以使用任何Zip工具(如7-Zip)解压缩它。如果您没有管理员帐户访问权限,您可以下载任何zip存档的便携式版本,不需要管理员密码。
仅供参考,我将分享从答案中得到的解决方案。
在我的问题中,我也遇到了路径过长的问题,我使用New-PSDrive解决了这个问题,这是一个可以映射临时驱动器的函数。我只在工作文件夹上映射了一个临时驱动器,用于解压缩文件。
function Unzip-File($file) {
$path = [io.path]::GetDirectoryName($file.FullName)
$filename = [io.path]::GetFileNameWithoutExtension($file.FullName)
$targetPath = Join-Path $path $filename;
# Check if the directory exists.
if(Test-Path $targetPath) {
# Remove the directory before unzipping.
Remove-Item $targetPath -recurse
}
# Unzip file.
Add-Type -A System.IO.Compression.FileSystem
[IO.Compression.ZipFile]::ExtractToDirectory($file, $targetPath)
}