增量更新jar/war包
应用场景:
当我们更改了偌大jar/war 包的其中一个class/xml文件,全量替换整个jar/war 包,费时费力。
采用增量更新,只替换有变动的部分文件,省时省力。
例:
/home/demo/ 目录下 有且仅有 文件 test.jar
test.jar 中有文件 conf/info.propertis (其他文件忽略)
info.propertis 中内容为 name=ming
echo 进入目录 cd /home/demo/ echo 备份 cp test.jar test-back.jar echo 提取 jar xvf test.jar echo 修改文件内容(或者外部上传替换文件) vim /home/demo/conf/info.properties
name=mingzj :wq echo 更新装入 jar uvf /home/demo/test.jar /home/demo/conf/info.properties echo 完毕(此时test.jar中info.properties的name已更新为mingzj)
jar 命令帮助
[root@ming]# jar 用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项: -c 创建新档案 -t 列出档案目录 -x 从档案中提取指定的 (或所有) 文件 -u 更新现有档案 -v 在标准输出中生成详细输出 -f 指定档案文件名 -m 包含指定清单文件中的清单信息 -n 创建新档案后执行 Pack200 规范化 -e 为捆绑到可执行 jar 文件的独立应用程序 指定应用程序入口点 -0 仅存储; 不使用任何 ZIP 压缩 -P 保留文件名中的前导 '/' (绝对路径) 和 ".." (父目录) 组件 -M 不创建条目的清单文件 -i 为指定的 jar 文件生成索引信息 -C 更改为指定的目录并包含以下文件 如果任何文件为目录, 则对其进行递归处理。 清单文件名, 档案文件名和入口点名称的指定顺序 与 'm', 'f' 和 'e' 标记的指定顺序相同。 示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中: jar cvf classes.jar Foo.class Bar.class 示例 2: 使用现有的清单文件 'mymanifest' 并 将 foo/ 目录中的所有文件归档到 'classes.jar' 中: jar cvfm classes.jar mymanifest -C foo/ .
相关推荐
这样可以确保应用首先使用自己WAR包内的JAR包,而不是WAS内置的JAR包。 6. **添加缺失的依赖包**: - 如果部署时提示缺少某些依赖包(如slf4j-nop-1.6.1.jar,xerces-2.6.2.jar),则需要将这些依赖包添加到应用的...
4. **打包命令**:构建完成后,需要将增量文件打包成可分发的形式,如JAR或WAR文件。Maven使用`mvn package`,Gradle使用`gradle assemble`。 5. **文件替换**:标签“批量替换”暗示可能存在文本替换操作,这可能...
这些任务包括编译源代码、创建JAR或WAR包、运行测试、部署应用程序等。Ant的主要优点在于其灵活性和可扩展性,可以根据项目需求定制各种构建流程。 **利用Ant脚本进行SVN增量构建** 1. **基本流程** - **获取代码*...
【自动打包】:自动打包是指通过脚本或工具自动化执行构建过程,将源代码编译、测试并通过打包工具(如Maven的`mvn package`命令)生成可部署的文件(如JAR、WAR)。这大大减少了手动操作的时间,降低了错误率,尤其...
对于使用 Tomcat 作为应用服务器的情况,通常会将 JAR 文件放入 `TOMCAT_HOME/lib` 目录,或者将其打包进 Solr 的 WAR 文件中。 总的来说,`solr-dataimport-scheduler-1.2.jar` 为 Solr 6.1 增添了定时数据导入的...
- `mvn clean install`:清理已有的目标文件,然后编译源代码,运行测试,并生成最终的可部署包(通常是JAR或WAR文件)。 - `rsync -avz --delete target/* /path/to/deployment/directory/`:使用rsync命令将新...
- **JAR/WAR打包**:创建可执行的JAR或WAR文件。 - **Maven发布**:将项目发布到Maven仓库,供其他项目使用。 - **持续集成**:与Jenkins、Travis CI等CI/CD工具集成,自动化构建和部署。 9. **缓存与性能** - ...
在Java领域,Maven是常用的自动打包工具,它可以处理项目的依赖关系,构建工件(如JAR、WAR),并且支持自定义生命周期和插件。 "java_copyFile"这个文件名可能是指工具中用于复制文件的部分,通常在自动打包过程中...
然后将war包放入 Tomcat/webapps下,开启tomcat就可以使用。 适合用于课程设计,课程实践,毕业设计等,略微修改可以更加完善。 完成基本二手交易平台的功能。 最重要 只需要几步,就可以点开就看到效果,基本实现...
首先,将`solr-dataimporthandler-5.1.0.jar`复制到Tomcat的`webapps\solr\WEB-INF\lib`目录下,并添加相应的MySQL驱动jar包。在`solrconfig.xml`文件中启用全量导入和增量导入请求处理器,以支持数据库的数据同步。...
- **Java应用打包**:能够生成JAR、WAR包,支持 Fat JAR(包含所有依赖)或Uber JAR(仅包含类文件,依赖通过Class-Path指定)。 3. **对C++的支持**: - **C++编译**:Gradle 可以管理C++项目的编译过程,包括...
"ant教程详解--javac,java,jar,war,delete,copy,mkdir....ziw"这则教程可能详细解析了ANT中与Java开发密切相关的任务,如编译源代码(javac)、运行Java程序(java)、创建JAR和WAR包、删除文件或目录(delete...
6. **打包项目**:使用`sbt package`命令可以生成JAR或WAR文件,`sbt assembly`则用于创建可部署的fat JAR。 7. **发布项目**:如果你的项目准备就绪,可以通过`sbt publish`将它发布到私有或公共仓库供他人使用。 ...
这个命令的作用是使用Maven来编译项目,生成相应的jar或war包,并将它安装到本地的Maven仓库中。这样,其他依赖于`starter-canal`的项目就可以通过Maven自动管理其依赖,无需手动复制文件。 `starter-canal`的核心...
- `LIB_HOME` 指定了Emma jar包的位置,这对于后续的操作至关重要。 2. **代码打包流程**: - 使用SVN更新源代码库。 - 使用Maven执行清理和打包操作,跳过测试阶段。 - 将编译后的WAR文件复制到指定目录。 - ...
- **热部署与更新**:理解并使用增量部署和热部署功能,减少服务中断时间。 6. **安全性** - **SSL/TLS配置**:为应用服务器和通信通道启用加密,保护数据安全。 - **身份验证与授权**:配置用户、角色和权限,...
但是实际部署时,打成Jar包的方式有一个致命的缺点,当你改动了一个资源文件、或者一个类时,需要往服务器重新上传全量jar包,这在网速慢的公司来说简直是不能忍受的。 解决方法 为了解决上述问题,可以将...