项目构建工具
maven
Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目
Maven是款平台的项目管理工具。主要服务于基于java平台的项目构建,依赖管理和项目信息管理
项目构建:Java源代码如果需要在应用服务器上面运行,需要经过编译(也就是java源码变成class文件的过程),只有class文件才能运行在jvm虚拟机之上。Mavne说白了就是把java源代码变成class文件的过程,使用maven编译java源码会生成一个war包,只需要把war解压到tomcat这类应用服务器的应用根目录,然后重启tomcat重新加载类文件,就算完成了一次部署
Maven项目构建优点:
- 拥有约定的目录结构,知道你的代码在哪里,放到哪里去
- 只需要执行一个maven install就可以自动执行编译、测试、打包等构建过程
- 只需要定义一个xml,然后把源码放到默认的目录,Maven帮你处理其他事情
- 拥有依赖管理,仓库管理
IDE项目构建缺点:
- 手工操作多,编译、测试、部署等工作都是独立的,很难一步完成
- 每个人的IDE配置不同,很容易出现本地代码换个地方编译就出错
依赖管理: Java程序员在写代码的时候会用到一些jar包,这些jar包就可以理解为依赖包,我们可以使用maven对这个依赖包进行管理
- 对第三方依赖包的管理,可以连接互联网来下载依赖包
- 对我们自己开发的依赖包的管理
Ant
Ant 是一个 Apache 基金会下的跨平台的基于 Java 语言开发的构建工具
Apache的一个项目管理工具要和ADT(Google研发的一个Android开发工具插件,集成在eclipse中,为Android开发提供专属开发环境)区分开
特点:
- Ant 是最完整的基于 Java 语言开发的构建和部署工具
- Ant 具有平台无关性,可以处理平台特有的属性,诸如文件分隔符
- Ant 还可以用来执行平台特有的任务,比如使用 touch 命令修改一个文件的修改时间
- Ant 脚本是用 XML 来完成的。如果你已经对 XML 有所了解,那么你学习 Ant,将会比较得心应手
- Ant 擅长自动完成重复任务
- Ant 开始需要一系列的预先定义好的任务
- Ant 提供了开发自定义任务的接口
- Ant 可以很容易从命令行调用,并且它能够很好地集成免费和商用的集成开发环境
gradle
Gradle,这是一个基于 JVM 的富有突破性构建工具。Gradle 正迅速成为许多开源项目和前沿企业构建系统的选择,同时也在挑战遗留的自动化构建项目。本教程主要讲解了如何使用 Gradle 构建系统和构建系统过程中涉及的插件
- 一个像 ant 一样,通用的灵活的构建工具
- 一种可切换的,像 maven 一样的基于约定约定优于配置的构建框架
- 强大的多工程构建支持
- 强大的依赖管理(基于 ApacheIvy)
- 对已有的 maven 和 ivy 仓库的全面支持
- 支持传递性依赖管理,而不需要远程仓库或者 pom.xml 或者 ivy 配置文件
- ant 式的任务和构建是 gradle 的第一公民
- 基于 groovy,其 build 脚本使用 groovy dsl 编写
- 具有广泛的领域模型支持你的构建
查看代码
Source Insight
一个面向项目开发的程序编辑器和代码浏览器,比如查看Android源码
Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。Source Insight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。 Source Insight不仅仅是一个强大的程序编辑器,它还能显示referencetrees,class inheritance diagrams和call trees。Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信 息。Source Insight提供了快速和革新的访问源代码和源信息的能力。与众多其它编辑器产品不同,SourceInsight能在你编辑的同时分析你的源代码,为你提供实用的信息并立即进行分析
解决开发问题
StackOverflow
Stack Overflow是一个程序设计领域的问答网站,隶属Stack Exchange Network。网站允许注册用户提出或回答问题,还可对已有问题或答案加分、扣分或进行修改,条件是用户达到一定的“声望值”。“声望值”就是用户进行网站交互时能获取的分数,例如,用户A回答了一个问题,用户B对用户A的解答给予了“加分”,用户A就会因而获得10点声望值。当声望值达到某个程度,用户的权限就会增加,如声望值超过50点就可以评论答案,另外网站也会根据用户的贡献颁发徽章。用户创建的内容都使用知识共享协议授权
集成
Jenkins
Jenkins是一个独立的开源自动化服务器,可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至可以通过安装Java Runtime Environment的任何机器独立运行
在线工具
JSON在线格式化
链接地址1
链接地址2
代码对比工具
ULM图
UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素
UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简单却非常重要,在UML规则中相互联系和扩展
作用: UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护
Bug管理工具
禅道
笔记
有道
印象
知乎
思维导图
xmind
记录
Typora
思维导图工具
mindmanage
|