2010-10-22 59 views
4

我需要一些帮助,了解如何对包含在.war包内的某些.jsp页面进行一些更改。Java .War文件编译

我使用jbilling开源计费软件,需要修改一些元素/显示,并且希望直接在.jsp中执行,所以我解压缩.war文件并进行了更改,然后将其打包并将其放回原处在webapps文件夹内并重新启动tomcat。但是我注意到.war打包的文件大小比原来的.war小,而且它应该更大,因为我添加了东西。不用说,tomcat没有正确启动,或者至少在日志中有错误..但他们没有帮助我,jbilling没有正常工作。我回到了原始的.war,它运行良好。

是否有可能解压缩.war并简单地做一些html更改,然后重新打包它,而不必重新编译整个源代码与Java类?我是否使用wronge“包装”工具进行编译?有没有另一种方法来完成我想要的?

我这样做在一个FreeBSD框,使用下面的命令: 解包 - >sudo jar cf ../billing.war * 重新包装 - >sudo jar -xvf billing.war

感谢您的帮助。

回答

1

此外,.WAR和.JAR(据我所知一切不言而喻所有。 * AR)基本上是符合某些结构性要求(清单,Web应用程序描述符等)的美化zip文件。执行所需更改的最简单方法是处理.WAR文件,就好像它是简单的ZIP文件一样。工具的选择都是你的(存档器,pkzip等)。

+0

好的,我有7-zip和IZarch压缩文件,但他们都没有给我压缩到.war的选项,但是Izarch确实给了我.jar的选项,这是否重要?...当在freebsd框上时,我可以将扩展名更改为.war并使其工作? – Ronedog 2010-10-22 20:49:48

+0

根本没关系.WAR只是一个扩展。可以把它看作只有扩展名改变的.ZIP文件,但仍然只是一个普通的ZIP文件。 顺便说一句,这同样适用于一堆其他格式,如Firefox的扩展名,新的MS格式* .docx/xslx/etc – vstoyanov 2010-10-22 21:05:03

+0

好吧,我提取了.war并对.jsp做了一些小修改,然后将它压缩成一个.tar ...所有这些都是在IZARC的windows vista上完成的,然后我将它转移到freebsd盒子,并将扩展名改为.war。然后重新启动tomcat。但该页面不会加载。当开始部署.war时,错误日志显示'java.lang.IllegalArgumentException:无效或不可读的WAR文件。在Windows环境中修改有问题,然后复制我的方式? – Ronedog 2010-10-22 21:39:18

1

你可以simply打开war文件使用archiver utility(看来你使用的是Ubuntu)。

从archiver util it自己打开jsp文件,进行更改,Archiver util会询问jsp文件已被修改you want to update your war file say yes there

注意:如果你打算做只能查看变化比去否则这棘手的方式,如果你愿意改变source java files than building the war will be strongly recommended