增量打包DOC版

压缩zip的命令有的系统没有的自己去下载一个,否则关闭压缩zip的命令。

有需要的自行更改,这是满足我需求的。

执行 publish.bat 即可,当然需要将文件清单写好放在 resources.txt中。

@REM author:莫大人 date:20160118
@echo off
ECHO =================增量打包工具=================
ECHO 作者:莫大人  20160118
setlocal enabledelayedexpansion
@REM 工程编译目录
@REM iTreasuryEJB
SET PROJECT_HOME=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryEJB.jar
@REM
SET PROJECT_HOME_TMP=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryEJB.jar

@REM iTreasuryWEB.war\WEB-INF SET PROJECT_HOME=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryWEB.war\WEB-INF
@REM SET PROJECT_HOME_TMP=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryWEB.war\WEB-INF

@REM iTreasuryWEB.war\iTreasury-settlement SET PROJECT_HOME=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryWEB.war\iTreasury-[email protected] SET PROJECT_HOME_TMP=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryWEB.war\iTreasury-settlement
echo 工程编译目录  %PROJECT_HOME%
@REM 资源文件
SET RESOURCE_FILE=resource.txt
echo 资源文件  %RESOURCE_FILE%
@REM 备份文件夹
SET BACKUP=BACKUP
@REM 是否压缩开关 1 开 0 关
SET ZIP_CMD=0
@REM 当前目录
SET CURRENT_DIR=%cd%
echo 当前目录  %CURRENT_DIR%
@REM 目标目录
SET TARGET_PATH=%CURRENT_DIR%\%BACKUP%
@REM 清除缓存
IF EXIST %TARGET_PATH% RMDIR /S /Q %TARGET_PATH%
IF EXIST %CURRENT_DIR%\Project.zip DEL %CURRENT_DIR%\Project.zip
@REM 判断是否存在资源文件,不存在创建一个并提示
IF NOT EXIST %CURRENT_DIR%\%RESOURCE_FILE% (@ECHO ###第一行不做处理 请将需要打包的文件目录拷到此处如  \classes\com\midea\account\service\AccountService.class>%RESOURCE_FILE%&&goto :eof)
IF NOT EXIST %TARGET_PATH% MKDIR %TARGET_PATH%
@REM 循环查询资源文件中的文件,存在则复制(保持目录结构),输出日志到 stdout.log
ECHO %date% ====================增量打包日志输出开始====================>>stdout.log
@REM CLASS 添加 \WEB-INF 之后复制
@REM for /f "skip=1 tokens=1,* delims=:" %i in (‘findstr /s /e "class" %RESOURCE_FILE%‘) do (call :copyFile \WEB-INF%%j)
for /f "skip=1" %%i in (%RESOURCE_FILE%) do (call :copyFile %%i)
ECHO %date% ====================增量打包日志输出结束====================>>stdout.log
@REM 打包,如果增量文件为空那么不压缩
DIR /B %TARGET_PATH%|FINDSTR .*>nul&&(@ECHO 存在资源文件)||(@ECHO 不存在资源文件>>stdout.log&&goto :eof)
cd %TARGET_PATH%
mkdir WEB-INF
if exist classes move classes WEB-INF
IF %ZIP_CMD% EQU 1 (call :toZip)
ECHO =================增量打包结束=================
PAUSE
goto :eof

@REM 复制
:copyFile
@REM 源文件
SET SRC_FILE=%PROJECT_HOME_TMP%%1%
@REM 目标文件
SET TARGET_FILE=%TARGET_PATH%%1%
@REM ECHO 假设源文件在%SRC_FILE%>>stdout.log
@REM 如果源文件为空那么不复制,并提示
IF "%SRC_FILE%"=="" (ECHO %SRC_FILE% 不存在,请将增量文件列表写入 %RESOURCE_FILE%>>stdout.log&&goto :eof)
@REM 判断源文件是否存在,不存在则记录 stdout.log
@REM 一定要使用ECHO OFF和ECHO ON,因为这两个可以让系统对期间的代码进行整块操作,还有就是需要主要,IF判断的括号一定要写在IF的这行中。
IF NOT EXIST %SRC_FILE% (
SET SRC_FILE=%PROJECT_HOME%%1%
SET TARGET_FILE=%TARGET_PATH%/WEB-INF/%1%
)
@REM ECHO 修正后的源文件为%SRC_FILE%>>stdout.log
IF NOT EXIST %SRC_FILE% (ECHO 找不到资源 %SRC_FILE% >>stdout.log&&goto :eof)

@REM 目标文件目录
for %%a in (%TARGET_FILE%) do SET TARGET_TEMP=%%~dpa
@REM 目标文件目录是否存在,不存在则创建
IF NOT EXIST %TARGET_TEMP% MKDIR %TARGET_TEMP%
@REM 复制文件开始
COPY /y %SRC_FILE% %TARGET_TEMP%
goto :eof

@REM 打包
:toZip
cd %TARGET_PATH%
zip -qr %CURRENT_DIR%\Project.zip *
goto :eof
时间: 2024-10-14 11:18:14

增量打包DOC版的相关文章

异常的学习笔记+打包+doc的包编译

jvm默认的异常处理机制就是调用printStackTrace方法 对于多异常的处理.应该是定义更具体的异常来捕捉捕捉问题 捕获异常代码块出现继承关系 应该把被继承的异常放在子类异常块的后面 throw 和 throws的区别 throw是是用在函数上,而throws是使用在函数内 throw后面跟的是异常对象,而throws跟的是异常类可以 多个 对异常的分类: 1.编译时被检测到的异常. (值得去处理的异常,或者是希望得到调用者处理,并不影响运算意向) 2.编译时不被检测到的异常(运行时异常

[Android Studio] Android studio 多渠道打包(超简洁版)

转载:http://xuyazhou.com/archives/461 http://relex.me/using-manifestplaceholders/ 最近一直用android studio 进行开发,在开发和发版的时候,遇到一个多渠道打包的问题,由于公司里是有七个渠道的包进行分发,由于每次去AndroidManifest.xml修改渠道的值,甚是麻烦... 最后去google了一番,发现有些方法,是在gradle文件里切换各种不同的AndroidManifest.xml文件,感觉这样也

eclipse实现JavaWeb应用增量打包

很多情况下,项目是不允许全量发布的,所以你得把有做修改的文件一个个挑出来,如果有成千上百的文件,你是不是要头大了? 以下方法应该可以让你得到解救!前提是你是用装有svn plugin的eclipse上做开发. 第一步,用svn生成项目的补丁文件. 选中你需要增量升级的文件,点击完成. 运行如下代码 Java代码   package verysoft.freepath; import java.io.BufferedInputStream; import java.io.BufferedOutpu

iOS离线打包

预备环境 iOS开发环境,Mac OS.XCode 7.2以上版本: 下载HBuilder离线打包iOS版SDK(5+ SDK下载). SDK目录说明 HBuilder-Hello:离线打包演示应用: Feature-iOS.xls:iOS平台各扩展Feature API对应的库文件列表: Readme.txt:版本说明文件. 注意:HBuilder运行环境相关库文件已全部包含在HBuilder-Hello演示应用中 配置编译工程 从演示应用HBuilder-Hello创建工程 解压SDK包,将

Xcode 8 打包教程

相信iOS开发者们更新了iOS 10之后除了吐槽越来越像安卓之外,吐槽的更多的也是Xcode的一系列问题,本次Xcode 的变化无非是 大概以下三点: 1.各种其妙log的打印 2.一些权限的添加 3.证书添加了自动管理证书功能 4.打包的问题 关于第一个和第二个的问题,参见链接(http://www.jianshu.com/p/c6f7a5f0b2e3),这是转载别人的哈,我着重要说的是打包发版的问题,因为我是Xcode 8出来后第二天我就适配完毕打包上线的. 第一个要说的是关于证书的问题,X

[Unity]浅谈AssetBundle的依赖关系打包与加载

一.写在前面 通过AssetBundle进行资源管理很方便.AssetBundle的打包与加载策略有很多种,本文来讲一种可以随意通过资源名来加载指定目录下资源的打包方法.意在加深对资源管理的理解. 二.策略介绍 1.打包的粒度划分的策略 ①     所有在指定目录下的文件,即RootList,都被打包成单独结点 ②     对于RootList所依赖的所有资源,即DepList,依赖数大于1的,被打包成单独结点,等于1的,向上合并至被依赖结点. ③     记录打包信息 2.下载策略 ①    

将Cocos2d-x的libcurl单独打包到Android

研究了N久+N次,终于在这一周解决了,感谢度娘.感觉第一次快要跑通时,心里真是万分紧张,感觉什么都不会再爱了.点下按钮,返回预期的值,OK.搞定,为此,放松了一个上午,现在来写写一些我是怎么搞通的吧.不敢保证,每个库都能这么搞,但是对一些刚入门者,应该有帮助.好的,开讲! 1.研究背景与意义 公司要单独封装网络库,所以,首先想到的libcurl,因为搞过半年Cocos2d-x,所以,直接找到了Cocos2d-x引擎源码的预编译第三方库里的libcurl.什么是预编译库?下面来解释解释. 1.1预

node-webkit 应用打包发布

方便进行打包,使用了nodejs  ,gulp  nw-builder 备注  windows 操作系统部分版本需要包含  msvcr100.dll  建议制作安装程序的时候直接包含 为了进行视频以及音频文件的处理,mac 以及windows 需要添加对应处理视频音频的类库,默认附带的是以经典版 1. 不包含源码的打包方式(支持  linux  ,windows   mac) 打包布局如下: appdir 为node-webkit 应用需要包含的信息 package.json  nodejs 项

[Android Studio 权威教程]打包、生成jks密钥、签名Apk、多渠道打包

上一篇我们讲了多渠道打包 其中我们用到了签名文件在eclipse时.keystore在Android Studio中就是.jks文件了,那么这个文件怎么生成呢?这篇文章是上一篇的补充篇. 生成jks签名文件 选择Build > Generate Signed APK- 选择项目app > Next 选择Create new- 选择签名文件的路径,这些信息和eclipse一样了,填完点击OK 选择Next 我们这里做测试选择qihu360和xiaomi打包release版,最后点击Finish