Java 如何在命令行中解压缩WAR文件
首先,我知道可以使用命令行中的Java 如何在命令行中解压缩WAR文件,java,command-line,jar,war,unzip,Java,Command Line,Jar,War,Unzip,首先,我知道可以使用命令行中的jar解压WAR文件。 问题是在目标机器上没有安装JDK,只有JRE。我们不能依靠Windows来解压文件,因为它不支持很长的路径 当您只安装了JRE时,如何在命令行中解压WAR文件?WAR文件只是一个ZIP文件,您可以使用任何ZIP工具(如7-ZIP)解压它。如果您没有access管理员帐户,您可以下载任何不需要管理员密码的zip存档。我将分享我从中获得的解决方案 我在我的问题中指出,我也有一个关于长路径的问题,一个我已经解决的问题,一个让你映射一个临时驱动器的函
jar
解压WAR文件。
问题是在目标机器上没有安装JDK,只有JRE。我们不能依靠Windows来解压文件,因为它不支持很长的路径
当您只安装了JRE时,如何在命令行中解压WAR文件?WAR文件只是一个ZIP文件,您可以使用任何ZIP工具(如7-ZIP)解压它。如果您没有access管理员帐户,您可以下载任何不需要管理员密码的zip存档。我将分享我从中获得的解决方案 我在我的问题中指出,我也有一个关于长路径的问题,一个我已经解决的问题,一个让你映射一个临时驱动器的函数。我只在工作文件夹上映射了一个临时驱动器,在那里我解压缩了东西
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)
}
请使用任何支持zip的归档程序。请查看此线程中的答案。@SubOptimal thx,看起来像[IO.Compression.ZipFile]::ExtractToDirectory支持长路径。我不能假设服务器上有第三方解压缩工具,如7-zip。在@suboptimal的帮助下,我找到了一个解决方案。