我有一个Web程序,我希望用户能够导入一个.war文件,并可以从.war文件中提取某些文件。java.util.zip.*和java.util.jar.*。据我所知,一个WAR文件是一个特殊的JAR文件,它是一个特殊的ZIP文件。那么使用java.util.jar会更好吗?如果ZIP和JAR文件非常相似,为什么需要两个不同的库呢?
.war
java.util.zip.*
java.util.jar.*
java.util.jar
nwsw7zdq1#
WAR文件只是一个JAR文件,要提取它,只需发出以下jar命令-
jar -xvf yourWARfileName.war
如果找不到jar命令(有时在Windows命令提示符中会发生这种情况),请指定完整路径,即在我的示例中是完整路径。
c:\java\jdk-1.7.0\bin\jar -xvf my-file.war
70gysomp2#
如果查看JarFile API,您会发现它是ZipFile类的子类。特定于jar的类大多只是添加了特定于jar的功能,比如直接支持清单文件属性等等。这是OOP“在运行”;因为jar文件是zip文件,所以jar类可以使用zip功能并提供附加的实用程序。
dzhpxtsq3#
只需将.war重命名为.jar,然后使用Winrar(或任何其他归档管理器)解压缩它。
.jar
Winrar
l2osamch4#
如果您使用的是Linux或Ubuntu,则可以直接从.war文件中提取数据。一个war文件只是一个jar文件,要提取它,只需使用jar程序发出以下命令:
war
jar
c7rzv4ha5#
您可以使用一种转换方法,只将应用程序部署到Tomcat服务器中:只需在webapps文件夹下复制/粘贴即可。启动tomcat后,它将创建一个以应用程序名称命名的文件夹,您可以直接访问其中的内容
lo8azlld6#
就像你说的,jar * 是 * 一个zip文件(不是一个特殊的类型,只是一个普通的老zip),所以任何一个库都可以工作。原因是普通人看到 .zip扩展名,倾向于解压缩它。因为应用服务器希望它解压缩,一个简单的重命名可以防止人们出于习惯解压缩它。同样,.war文件也应该保持未压缩状态。jar基本上只是在www.example.com上添加了额外的功能java.util.zip,额外的开销非常小。让java.util.jar成为发布等方面的助手,并使用它。
wj8zmpe17#
Jar类/包用于特定的Jar文件机制,其中存在Jar文件在某些情况下使用的清单。Zip文件类/包处理包括Jar文件的任何压缩文件,Jar文件是压缩文件的一种类型。Jar类因此扩展了Zip包类。
vddsk6oq8#
对于mac用户:在终端命令中:
unzip yourWARfileName.war
rkue9o1l9#
这是解除战争档案的方法
mkdir mywarfile cp -r mywarfile.war mywarfile/ cd mywarfile/ jar -xvf mywarfile.war ls rm -rf mywarfile.war
9条答案
按热度按时间nwsw7zdq1#
WAR文件只是一个JAR文件,要提取它,只需发出以下jar命令-
如果找不到jar命令(有时在Windows命令提示符中会发生这种情况),请指定完整路径,即在我的示例中是完整路径。
70gysomp2#
如果查看JarFile API,您会发现它是ZipFile类的子类。
特定于jar的类大多只是添加了特定于jar的功能,比如直接支持清单文件属性等等。
这是OOP“在运行”;因为jar文件是zip文件,所以jar类可以使用zip功能并提供附加的实用程序。
dzhpxtsq3#
只需将
.war
重命名为.jar
,然后使用Winrar
(或任何其他归档管理器)解压缩它。l2osamch4#
如果您使用的是Linux或Ubuntu,则可以直接从
.war
文件中提取数据。一个
war
文件只是一个jar
文件,要提取它,只需使用jar
程序发出以下命令:c7rzv4ha5#
您可以使用一种转换方法,只将应用程序部署到Tomcat服务器中:只需在webapps文件夹下复制/粘贴即可。启动tomcat后,它将创建一个以应用程序名称命名的文件夹,您可以直接访问其中的内容
lo8azlld6#
就像你说的,jar * 是 * 一个zip文件(不是一个特殊的类型,只是一个普通的老zip),所以任何一个库都可以工作。原因是普通人看到 .zip扩展名,倾向于解压缩它。因为应用服务器希望它解压缩,一个简单的重命名可以防止人们出于习惯解压缩它。同样,.war文件也应该保持未压缩状态。
jar基本上只是在www.example.com上添加了额外的功能java.util.zip,额外的开销非常小。让java.util.jar成为发布等方面的助手,并使用它。
wj8zmpe17#
Jar类/包用于特定的Jar文件机制,其中存在Jar文件在某些情况下使用的清单。
Zip文件类/包处理包括Jar文件的任何压缩文件,Jar文件是压缩文件的一种类型。
Jar类因此扩展了Zip包类。
vddsk6oq8#
对于mac用户:在终端命令中:
rkue9o1l9#
这是解除战争档案的方法