方法一:直接更新文件
直接修改部署后的文件。比如用 maven 打包成 WAR 文件,部署(复制)到 Tomcat/webapps 目录后,Tomcat 会立即将 WAR 文件解压成目录结构。此时,只需进入目录修改对应的文件就可以了。
修改 Tomcat 解压出来的文件,可能需要 root 权限。
参考资料:
Servlets Demystified in Chapter 1 of Head First Servlet & JSP
方法二:更新线上运行中 WAR, EAR 包里的个别文件
大型 web 应用的编译是很耗时间的,将编译后的包部署到 web server 上面可能也要很久。
有时候只是修改了一个静态文件,如 html, css, jpg,这些修改是无需编译的。如果将整个 web 项目重新编译、部署使得变动生效,工作效率会很低。
如何将改动的静态文件直接更新(替换)到线上 WAR/EAR 呢?
可以使用命令
jar uf jar-file input-file(s)
解释:
u - 表示你想要更新一个已存在的 JAR 文件
f - 表示需要更新的文件在命令行中指定
jar-file - 需要更新的已存在的 JAR 包
input-files(s) - 一个或多个需要更新(新增)的文件名,多个文件之间用空格隔开
JAR 包中和 input-file(s) 同名的文件会被覆盖点。
例子:
已知 TicTacToe.jar 内容如下:
audio/yahoo2.au
example1.html
images/
images/cross.gif
images/not.gif
新增文件 new.gif
jar uf TicTacToe.jar images/new.gif
更新后 TicTacToe.jar 内容如下:
audio/yahoo2.au
example1.html
images/
images/cross.gif
images/not.gif
images/new.gif
参考资料 :
局部更新 java web 的文件的更多相关文章
-
更新java对xml文件的操作
//更新java在xml文件中操作的内容 public static void upda(Document doc) throws Exception{ //创建一个TransformerFactor ...
-
java+web+大文件上传下载
文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦.缺乏交互.用户体验差. 一.前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用 ...
-
java web(四)文件上传与下载
一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...
-
初学Java Web(7)——文件的上传和下载
文件上传 文件上传前的准备 在表单中必须有一个上传的控件 <input type="file" name="testImg"/> 因为 GET 方式 ...
-
java web 读取文件,文件路劲不对的问题
都知道,一般java项目,编译后的文件是在classes文件夹下面: 而java web项目,则是在WEB-INF/classes文件夹下面.new File(fileName)须先获取tomcat中 ...
-
java web 各个文件夹命名原因
今天突然被同学问然后就发现,自己有很多的疑问: (1) 为什么servlet的配置文件,命名为 web.xml , 内部是如何读取的,原因就是他内度的工作原理 (2) webINF Src 文件为什么 ...
-
替换Java WEB工程文件的指定字符串
package com.utils; import java.io.BufferedReader;import java.io.File;import java.io.FileFilter;impor ...
-
java web 下载文件 response.setHeader()的用法 (转载)
response.setHeader()的用法 response.setHeader()下载中文文件名乱码问题 收藏 1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但 ...
-
Java Web(十一) 文件上传与下载
文件上传 上传的准备工作 表单method必须为post 提供file组件 设置form标签的enctype属性为multipart/form-data,如果没有设置enctype属性,浏览器是无法将 ...
随机推荐
-
C#获取外网IP
思路是通过WebRequest连接一些网上提供IP查询服务的网站,下载到含有你的IP的网页,然后用正则表达式提取出IP来 class Program { static void Main(string ...
-
PHP读取XML文件数据
XML文件 <?xml version="1.0" encoding="UTF-8"?> <node> <student> ...
-
datatable 的ajax修改参数,post可以传参处理
datatables常用参数记录 { "searchable": false, "orderabl ...
-
Swift - 手机摇晃的监测和响应
摇晃手机也是一种常用的交互手段(比如微信摇一摇功能).iOS SDK中已经将shake事件方便地融合进去了,就像触发touch事件一样简单,发生摇晃事件后程序会自动执行. 1 2 3 4 5 6 7 ...
-
关于jquery的$.ajax发接口的同步与异步问题
1.在使用$.ajax发接口时想对返回数据做一些处理后拿到其他方法中使用 发请求函数如下: function getProjectName(projectId){ project.projectNam ...
-
java基础回顾(五)线程详解以及synchronized关键字
本文将从线程的使用方式.源码.synchronized关键字的使用方式和陷阱以及一些例子展开java线程和synchronized关键字的内容. 一.线程的概念 线程就是程序中单独顺序的流控制.线程本 ...
-
Tinker 热修复
集成方式: 第一步:在project build.gradle 文件中添加: dependencies { // Tinker classpath("com.tinkerpatch.sdk ...
-
.NET面试题系列(三)排序算法
冒泡排序 , , , , , 7, 2, 4 }; //外层循环控制排序趟数 ; i < arr.Length - ; i++) { //内层循环控制每一趟排序多少次 ; j < arr. ...
-
使用CefSharp在.Net程序中嵌入Chrome浏览器(三)——基本操作
CefSharp本身提供了WPF和WinForm两个版本的控件,这两个版本的控件使用方法大同小异,由于我WPF的版本用的较多,这里就简单的介绍下WPF版的CEFSharp控件的用法. 加载页面: Ch ...
-
mysql5.7 安装版 表不能输入汉字解决方案
安装版本 的安装目录没有 my.ini 配置文件 在所在表执行 alter table 数据表名 CONVERT TO CHARACTER SET utf8;