如何在java中提取.war文件?ZIP与JAR

use*_*276 43 java zip jar war

我有一个网络程序,我希望用户能够导入.war文件,我可以从文件中提取某些.war文件.我找到了两个类库: java.util.zip.*java.util.jar.*.根据我的理解,WAR文件是一个特殊的JAR文件,它是一个特殊的ZIP文件.那么使用它会更好java.util.jar吗?如果ZIP和JAR文件几乎相同,为什么需要两个不同的库?

ilt*_*lid 110

WAR文件只是一个JAR文件,要提取它,只需发出以下jar命令 -

jar -xvf yourWARfileName.war
Run Code Online (Sandbox Code Playgroud)

如果找不到jar命令(有时会在Windows命令提示符中发生),则指定完整路径,即在我的情况下,它是,

 c:\java\jdk-1.7.0\bin\jar -xvf my-file.war
Run Code Online (Sandbox Code Playgroud)

  • 在Java中,问OP。 (2认同)

Dav*_*ton 21

如果你看一下JarFile API,你会发现它是ZipFile类的子类.

特定于jar的类主要只是添加特定于jar的功能,例如直接支持清单文件属性等等.

这是OOP"在行动中"; 由于jar文件是zip文件,因此jar类可以使用zip功能并提供额外的实用程序.

  • 对正确和接受的答案进行投票表示赞赏. (7认同)

Meh*_*hdi 11

只需重命名.war.jar,并使用其解压缩Winrar(或任何其它归档管理器).


Kar*_*put 6

如果您使用 Linux 或 Ubuntu,则可以直接从.war文件中提取数据。

文件war只是一个jar文件,要提取它,只需使用jar程序发出以下命令:

jar -xvf yourWARfileName.war
Run Code Online (Sandbox Code Playgroud)