能否通过jar工具无需解压WAR文件直接添加或更新JSP文件?
无需解压直接更新WAR文件内容的方法
你完全不用手动解压再重新打包,jar工具的-u(或--update)参数本身就支持添加、更新WAR里的内容,不需要额外的-a选项,之前的误解可能是混淆了其他工具的参数逻辑。
直接用命令行就能完成操作,分两种常见场景:
1. 更新WAR中已存在的JSP文件
假设本地有个更新后的updated.jsp,路径是/local/path/updated.jsp,要替换WAR包app.war里WEB-INF/views/updated.jsp这个位置的文件,执行命令:
jar -uf app.war WEB-INF/views/updated.jsp -C /local/path/ .
-uf:u代表更新归档,f指定目标WAR文件名WEB-INF/views/updated.jsp:WAR文件内要被替换的文件路径-C /local/path/ .:临时切换到本地文件所在目录,.指代当前目录下的updated.jsp(要和WAR内的文件名一致)
2. 向WAR中添加新的JSP文件
如果要把本地/local/path/new.jsp添加到WAR的WEB-INF/views/new/目录下,先在本地建好对应结构(比如本地创建WEB-INF/views/new/目录并放入new.jsp),然后执行:
jar -uf app.war WEB-INF/views/new/new.jsp
或者直接用-C参数指定路径:
jar -uf app.war -C /local/path/ WEB-INF/views/new/new.jsp
验证操作是否成功
可以用以下命令查看WAR内的JSP文件列表,确认更新/添加结果:
jar -tf app.war | grep "jsp"
内容的提问来源于stack exchange,提问作者coterobarros
相关产品推荐
相关产品推荐

