Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在命令行中解压缩WAR文件_Java_Command Line_Jar_War_Unzip - Fatal编程技术网

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的帮助下,我找到了一个解决方案。