认识maven项目--以Spring boot项目为例

写在前面

前几天我给我导师看我上传到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文件夹都是不需要的,等有需要的时候再新建一个就好了:

  1. pom.xml文件是Maven项目的核心配置文件,配置jar包的坐标信息
  2. mvnwmvnw.cmd全名是maven wrapper,它的作用是在maven-wrapper.properties文件中记录你要使用的maven版本,当用户执行mvnw clean 命令时,发现当前用户的maven版本和期望的版本不一致,那么就下载期望的版本,然后用期望的版本来执行mvn命令,比如mvn clean命令。如果把这个文件删了,idea就会提示找不到pom文件,即使pom文件存在
  3. src文件夹下面存储代码和资源以及配置文件

    java:该目录用来存放Java的源代码文件
    resources:该目录主要用来存放项目的一些配置文件(比如spring的xml配置文件)
    webapp(web项目):该目录相当于web项目下webcontent的目录,用来存放js、jsp、web.xml等文件

idea相关文件

然后,我们使用idea打开此项目,会产生以下几个文件或文件夹:

  1. *.iml文件,idea的工程配置文件。里面包含当前project的一些配置信息,如模块开发的相关信息,比如java组件,maven组件,插件组件等,还可能会存储一些模块路径信息,依赖信息以及一些别的信息。
  2. .idea文件夹存放项目的配置信息,包括数据源,类库,项目字符编码,历史记录,版本控制信息等。

maven项目其他文件

另外,新建的项目下还会存在以下几个文件或文件夹,有用但是不是必需的:

├─.mvn
│  └─wrapper
│     ├─maven-wrapper.properties
│     └─maven-wrapper.jar
├─.gitignore
  1. .mvn文件夹存放mvnw相关文件,如maven-wrapper.properties和相关jar包
  2. mvnw.cmd是执行mvnw命令的cmd入口
  3. .gitignore它的作用是git上传时会忽略里面配置的文件

Git提交规范

  1. 一个commit只做一件事情,必要时进行拆分
  2. 严格遵守commit message格式,可以参考 Angular提交规范:
    <type>(<scope>): <subject>
  • type(必需): 只允许使用下面7个标识 :

    1. feat:新功能(feature)
    2. fix:修补bug
    3. docs:文档(documentation)
    4. style: 格式(不影响代码运行的变动)
    5. refactor:重构(即不是新增功能,也不是修改bug的代码变动)
    6. test:增加测试
    7. chore:构建过程或辅助工具的变动
  • scope(可选):commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

  • subject(必需):commit 目的的简短描述,不超过50个字符。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值