`
jinnianshilongnian
  • 浏览: 21499431 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2417776
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:3008074
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5638960
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:259807
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1597044
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:250111
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5858157
Group-logo
跟我学Nginx+Lua开...
浏览量:701791
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:784902
社区版块
存档分类
最新评论

加速Java应用开发速度5——使用脚本自动化日常操作

阅读更多

《加速Java应用开发速度》系列目录:

加速Java应用开发速度1——加速spring/hibernate应用调试时启动速度

加速Java应用开发速度2——加速项目调试启动速度

加速Java应用开发速度3——单元/集成测试+CI

加速Java应用开发速度4——使用模板技术加速项目开发速度

加速Java应用开发速度5——使用脚本自动化日常操作 

 

在日常开发时,我经常会遇到如下问题:

  • 查看某个用户的某些操作信息(不需要界面,只需要根据固定条件查数据,就是看一下);
  • 需要安装/部署jar包到本地仓库/远程仓库;
  • 需要release maven项目(即发布项目的新版本);
  • 在测试时,经常需要重建数据库和数据;
  • 在不同的环境中安装同一个maven项目;
  • 部署并运行maven项目;
  • 备份数据库;
  • 根据系统日志等做数据分析:如活跃用户、是否存在异常IP、某个管理员的操作历史等等;
  • 监控服务器运行状态并告警;
  • 清理系统的垃圾文件;
  • 压缩日志及删除过期的日志(如只存储最近3个月的日志);

等等…………

 

对于如上的一些操作因为是经常使用的一些功能,我们应该使用模板+命令/脚本自动化来解决,而不是每次重新写一个,即:

  • 建一个命令文件,存储一些经常使用的命令(因为有些命令可能个把月才用一次,记不住啊),这样下次遇到时把命令复制出来,改一下可变的地方直接运行即可;比如maven中jar包的安装:mvn install:install-file -DgroupId=* -DartifactId=* -Dversion=* -Dpackaging=jar -Dfile=*
  • 对于一些需要按步骤执行的操作,可以使用一个批处理文件来存储,然后下次只需要执行批处理即可,可变部分使用命令行参数传入即可。

其实如上也是使用了模板的思想,把一些不变的但常用的命令集中存储或脚本化,下次遇到相同问题时,只需要把命令或脚本复制下执行一下即可,可变的部分通过参数传入。

 

如果是一些需要固定周期执行的命令/脚本,可以使用定时调度,如linux的crontab定时调度,如典型的数据库备份、清理垃圾文件、压缩及删除过期的日志等等。

 

很多人可能会觉得命令比可视化操作要慢,这太绝对化了,任何东西都是相对的,比如:

  • 命令在命令行中,可以使用上下箭头查找并执行,如果是反复执行的话,可能第一次输入命令是慢的,但是如果要反复执行呢?(有朋友会说,那我使用快捷键呢?这个不在讨论之列,此处只是讨论命令和可视化窗口操作)
  • 对于一些任务,如maven化web项目,需要:1、下载最新的代码;2、打包;3、部署到tomcat;4、重启tomcat;如果使用自动化脚本,只需要一句话即可

 

7
2
分享到:
评论
2 楼 jinnianshilongnian 2013-07-01  
满手都是炸 写道
加速Java应用开发速度这个系列告一段落了,多谢楼主分享。。

你每天起的也挺早, ,这个就到此结束了
1 楼 满手都是炸 2013-07-01  
加速Java应用开发速度这个系列告一段落了,多谢楼主分享。。

相关推荐

    [项目自动化之道-如何建构、部署、监控Java应用].Mike.Clark.扫描版

    《项目自动化之道——如何建构、部署、监控Java应用》是由Mike Clark撰写的一本关于提高Java应用开发效率和运维质量的专业书籍。这本书的核心是探讨如何利用自动化技术来优化项目的各个环节,从而提升团队的工作效能...

    深入体验Java_Web开发内幕—核心基础 完整版 pdf

    10. **持续集成与自动化测试**:如Jenkins、Maven和JUnit等工具在持续集成和自动化测试中的角色,以确保代码质量。 书中可能以实例驱动的方式介绍这些概念,通过实际项目案例来演示如何将理论知识应用到实践中。...

    selenium自动化测试实践——基于python语言

    作者在掌握Java与Selenium的基础上,转向Python并将其应用到自动化测试中。这表明从其他编程语言转移到Python进行自动化测试是可行的,同时也突显了Python在自动化测试领域的强大灵活性和兼容性。 书中还强调了实例...

    C#应用程序开发全程演练——从灵感到实现

    在深入探讨《C#应用程序开发全程演练——从灵感到实现》这一主题之前,我们首先要明确C#语言在软件开发领域的地位与作用。C#(读作C Sharp)是由微软公司于2000年推出的一种面向对象的、类型安全的编程语言,其设计...

    线索创建自动化测试脚本

    "线索创建自动化测试脚本"是一个专门针对某一业务场景——线索创建的自动化测试解决方案。这个标题表明我们拥有的是一个可以直接使用的测试脚本,无需额外配置或修改,能够帮助用户快速实现对线索创建功能的自动化...

    Java JDK 6学习笔记——ppt简体版

    这份"Java JDK 6学习笔记——ppt简体版"很可能是对这一版本特性和使用方法的详细讲解,旨在帮助初学者和有经验的开发者深入理解JDK 6的核心功能和改进。 JDK(Java Development Kit)是Java编程语言的软件开发工具...

    Java项目构建新型利器——Gradle

    随着现代软件开发的复杂性不断增加,构建自动化成为了一种必要,Java项目构建的新型利器——Gradle应运而生。Gradle是基于Java的下一代构建工具,它的出现改变了构建工具的格局,提供了更强的表现力和更好的可维护性...

    一键搞定Java桌面应用安装部署 —— exe4j + Inno Setup 带着JRE, 8M起飞

    在IT行业中,开发Java桌面应用程序是一项常见的任务,但如何将这些程序打包成可方便用户安装和部署的格式,对于开发者来说是个挑战。本篇将详细讲解如何利用exe4j和Inno Setup这两个工具,实现Java桌面应用的快速、...

    Java代码——D-tools

    总结起来,Java代码——D-tools是一个专注于Java开发的工具集合,涵盖了从编码到部署的各个环节,旨在优化开发者的日常工作,提高代码质量和开发效率。了解并熟练使用这些工具,对于Java开发者来说至关重要。

    JAVA手机开发环境搭建

    在移动通信与互联网技术日益融合的背景下,JAVA手机应用开发成为了一个备受关注的领域。为了在NOKIA等品牌手机上进行JAVA应用程序的开发,搭建一个高效且兼容性强的开发环境显得尤为重要。本文将围绕“JAVA手机开发...

    Java——API6

    这使得开发者可以轻松地在Java应用中嵌入和使用JavaScript、Groovy等脚本语言,增强了语言互操作性。 3. **改进的数据库连接**: - JDBC 4.0作为Java 6的一部分引入,带来了自动加载驱动程序、增强的连接池管理和...

    项目案例 办公自动化管理系统

    【办公自动化管理系统】是一个典型的Web应用程序,主要用于提升企业或组织的工作效率,实现日常办公流程的自动化。这个系统的核心是服务器端开发,它处理客户端的请求并返回相应的数据或执行操作。客户端登录功能则...

    badboy最新版——录制脚本

    BadBoy是一款专业的自动化测试工具,尤其适用于Web应用的负载测试和功能测试。它以其独特的“录制和回放”功能著名,使得软件测试人员能够轻松创建和编辑测试脚本,而无需深入理解底层的编程语言。在本文中,我们将...

    java web项目——51商城

    5. **JPA/Hibernate**:为了简化数据库操作,项目可能使用了Java Persistence API(JPA)或Hibernate ORM框架,它们能自动处理SQL,使开发更高效。 6. **Spring框架**:Spring是Java Web开发的核心框架,提供了依赖...

    自动化回归测试在Java项目中的实现

    本文首先简要介绍了软件自动化测试与回归测试的基本概念,随后通过一个具体的Java项目——CADS(Cross-Architecture Development Suite)作为示例,详细探讨了如何在Java项目中实现回归测试的自动化。 #### 二、...

Global site tag (gtag.js) - Google Analytics