batfhmerge.sh
和 batchgrade.sh
就搞定了。SNAPSHOT
版本来保证别人拉取到你最新的功能代码,但是有些公司会要求使用非 SNAPSHOT
版本进行管理也就是正式版本,这样做的好处就是容易找到之前的版本代码功能。# 该脚本主要用来升级发包期间修改各服务版本 FILEPATH=$1 GROUPID=$2 ARTIFACTID=$3 FILENAME=$4 while getopts ":f:g:a:" opt do case $opt in f) FILENAME=$OPTARG echo "您输入的文件配置:$FILENAME" ;; g) GROUPID=$OPTARG echo "您输入的groupid配置:$GROUPID" ;; a) ARTIFACTID=$OPTARG echo "您输入的artifactid配置:$ARTIFACTID" ;; ff) FILENAME=$OPTARG echo "您输入的带修改文件为:$FILENAME" ;; ?) echo "未知参数" exit 1;; esac done echo "开始修改版本号" NEWCONTENT=1.2.5.$(date +%Y%m%d) LINE=`cat ${FILENAME} | grep -n -A 1 '<groupId>'"${GROUPID}"'<\/groupId>'| grep -n '<artifactId>'"${ARTIFACTID}"'<\/artifactId>' | awk -F "[:-]+" '{print $2}'` echo 具体行号:$LINE if [[ -z $LINE ]] then echo 未匹配 exit fi VERSIONOLDCONTENT=`sed -n ''"$((LINE+1))"'p' ${FILENAME}| grep '[0-9a-zA-Z\.-]+' -Eo | sed -n '2p'` echo ${VERSIONOLDCONTENT} #gsed -i ''"$((LINE+1))"'c\'"${NEWCONTENT}"'' pom.xml sed -i "" ''"$((LINE+1))"'s/'"${VERSIONOLDCONTENT}"'/'"${NEWCONTENT}"'/' ${FILENAME}
groupId
和 artifactId
,最后确定好 version
对应的行号将最新的日期后缀版本进行填充进去。SED
进行操作,那就需要先获取到以前的旧版本,然后进行替换操作。pom.xml
文件他是一个 XML 格式的文件, XML=eXtensible Markup Language 。即是一种可扩展的标记语言。它与 JSON 一样主要用来存储和传输数据。在之前的Springboot章节中我们也实现了如何实现接口传递 XML 数据结构。常见的 XML 编程接口有 DOM 和 SAX,这两种接口处理 XML 文件的方式不同,当然使用场合也不同。
Python 有三种方法解析 XML,SAX,DOM,以及 ElementTree:
### 1.SAX (simple API for XML ) Python 标准库包含 SAX 解析器,SAX 用事件驱动模型,通过在解析XML的过程中触发一个个的事件并调用用户定义的回调函数来处理XML文件。 ### 2.DOM(Document Object Model) 将 XML 数据在内存中解析成一个树,通过对树的操作来操作XML。 ### 3.ElementTree(元素树)
ElementTree
。官网直通车
ElementTree
在 python3中已经作为标准库存在了,所以这里不需要我们额外的安装。基于事件和基于文档的APID来解析XML,可以使用XPath表达式搜索已解析的文件,具有对文档的增删改查的功能,该方式需要注意大xml文件,因为是一次性加载到内存,所以如果是大xml文件,不推荐使用该模块解析,应该使用sax方式
pom.xml
文件不会很大的。ElementTree
通过 XPath
进行节点选择,所以关于xml 节点查找我们可以参考 xpath 语法即可。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.github.zxhTom</groupId> <artifactId>bottom</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>bottom</name> <url>http://maven.apache.org</url> <description>最底层的繁琐封装</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <log4j2.version>2.10.0</log4j2.version> </properties> <dependencies> <!-- 20180927提供了针对stirng bean list 等判断的操作。不用我们在详细的判断了 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version> </dependency> <!-- 提供了针对list 等判断的操作。不用我们在详细的判断了 --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <!-- jsonobeject jar包依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency> <!-- 日志记录 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j2.version}</version> </dependency> <!-- 通过反射获取标有注解的类 --> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.9.10</version> </dependency> </dependencies> </project>
pom.xml
摘自于 com.github.zxhTom
的 bottom 项目中。里面的恰好出现了注释,方便我们后期测试。标签:Python,php,MySQL,数据,系统,连接器,筛选, 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。