将.jar转换为.war

时间:2011-12-09 07:41:27

标签: java eclipse class jar war

如何将.jar转换为.war文件格式。

基本上我想阅读file.jar。但是当我在eclipse中导入时,它显然会导入为.class个文件。我想以.java格式阅读并阅读代码。

请帮助

4 个答案:

答案 0 :(得分:1)

请记住.jar和.war是不同的文件格式。即使它们是压缩文件集,war文件也有standard organization structure。作为jar文件的地方很简单,文件的标准zip存档通常用作打包的二进制存档。你想要做的事情很难实现,而且没有直接的方法可以做到这一点。你必须手动完成。

答案 1 :(得分:1)

正如@Santosh所说,war和jar是相同的压缩(所以你可以将它重命名为jar并使用jar -x来解压缩它)但是内部组织是不同的。在我看来,你只想要删除java文件,所以解压缩就足够了......

mv file.war file.jar
jar xf file.jar

答案 2 :(得分:1)

如果您尝试将jar转换为war的原因仅仅是因为您希望能够在jar中查看类的源代码,那么请尝试将它转换为war不是正确的做法。

Java jar(Java ARchive)文件就像一个zip文件,一个可以包含其他文件的存档。通常它将包含class个文件(已编译的Java类)。 war(Web ARchive)与jar文件相同,但具有某种规定的目录结构,使其适合在Java EE应用程序服务器上进行部署。将jar文件转换为war文件将无法自动查看Eclipse中类的源代码。

要查看Eclipse中的源代码,您需要单独下载这些源代码。对于许多开源项目,您可以在单独的jar中获取源代码。例如,对于库somelib.jar,您可能会从您拥有该库的网站上找到somelib-sources.jar或类似内容。

然后,在Eclipse中,右键单击作为依赖项附加到项目的jar文件,然后从弹出菜单中选择“属性”。然后转到“Java Source Attachment”。输入...-sources.jar的位置或包含源代码的目录,然后单击“确定”。

答案 3 :(得分:1)

您的陈述暗示您的file.jar不包含Java代码。

我建议你。

  1. 不同的.jar.war文件格式。它已经在之前的回答中。

  2. 如果您想阅读file.jar中的代码,实际上您可以先对其进行反编译。有许多易于使用的Java反编译器。我建议您为此目的使用JD