写在前面
前几天我给我导师看我上传到GitLab上的项目时,他表示了非常的不满,原因是我上传了很多不必要的文件,大大增加了读项目的工作,而且显得很杂乱。我们上传项目的时候,要尽量只上传必要的文件,因此在这里整理了一下maven项目所必需的文件,另外也了解了一下maven项目下每个文件或文件夹的作用。
新建Spring boot项目
新建Spring boot项目的两个网站:
https://start.spring.io
https://start-scs.cfapps.io
Maven项目必需文件
先看一下maven项目里面必需的文件:
├─src
│ └─main
│ ├─resources
│ ├─webapp(web项目)
│ └─java
│ └─com
│ └─example
│ └─demo
│ └─DemoApplication.java
├─mvnw(Linux, Mac OS)
├─mvnw.cmd(Windows)
└─pom.xml
没错,就是这么少,仅需要一个文件夹存储代码,以及一个pom配置文件,甚至resources文件夹都是不需要的,等有需要的时候再新建一个就好了:
pom.xml
文件是Maven项目的核心配置文件,配置jar包的坐标信息mvnw
和mvnw.cmd
全名是maven wrapper,它的作用是在maven-wrapper.properties文件中记录你要使用的maven版本,当用户执行mvnw clean 命令时,发现当前用户的maven版本和期望的版本不一致,那么就下载期望的版本,然后用期望的版本来执行mvn命令,比如mvn clean命令。如果把这个文件删了,idea就会提示找不到pom文件,即使pom文件存在src
文件夹下面存储代码和资源以及配置文件java:该目录用来存放Java的源代码文件
resources:该目录主要用来存放项目的一些配置文件(比如spring的xml配置文件)
webapp(web项目):该目录相当于web项目下webcontent的目录,用来存放js、jsp、web.xml等文件
idea相关文件
然后,我们使用idea打开此项目,会产生以下几个文件或文件夹:
*.iml
文件,idea的工程配置文件。里面包含当前project的一些配置信息,如模块开发的相关信息,比如java组件,maven组件,插件组件等,还可能会存储一些模块路径信息,依赖信息以及一些别的信息。.idea
文件夹存放项目的配置信息,包括数据源,类库,项目字符编码,历史记录,版本控制信息等。
maven项目其他文件
另外,新建的项目下还会存在以下几个文件或文件夹,有用但是不是必需的:
├─.mvn
│ └─wrapper
│ ├─maven-wrapper.properties
│ └─maven-wrapper.jar
├─.gitignore
.mvn
文件夹存放mvnw相关文件,如maven-wrapper.properties和相关jar包mvnw.cmd
是执行mvnw命令的cmd入口.gitignore
它的作用是git上传时会忽略里面配置的文件
Git提交规范
- 一个commit只做一件事情,必要时进行拆分
- 严格遵守commit message格式,可以参考 Angular提交规范:
<type>(<scope>): <subject>
-
type(必需): 只允许使用下面7个标识 :
- feat:新功能(feature)
- fix:修补bug
- docs:文档(documentation)
- style: 格式(不影响代码运行的变动)
- refactor:重构(即不是新增功能,也不是修改bug的代码变动)
- test:增加测试
- chore:构建过程或辅助工具的变动
-
scope(可选):commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
-
subject(必需):commit 目的的简短描述,不超过50个字符。