编译和测试
编译命令:
maven clean compile
测试命令:
maven clean test
打包和运行
打包命令:
maven clean package
这样打包,并不能将包安装到maven仓库中
打包,并安装jar包到maven仓库:
maven clean install
使用Archetype生成项目骨架
maven archetype:generate
优化依赖
查看已解析依赖
mvn dependency:list
查看依赖输
mvn dependency:tree
分析依赖
mvn dependency:analyze
在运行结果中,有两个警告需要注意:
- Used undeclared dependencies: 意指项目中使用到的,但是没有显式声明的依赖。这种依赖意味着潜在的风险,当前项目直接在使用它们,例如有很多相关的Java import声明,而这种依赖是通过直接依赖传递进来的,当升级直接依赖的时候,相关传递性依赖的版本也可能发生变化,这种变化不易察觉,但是有可能导致当前项目出错。例如由于接口的变化,当前项目中的相关代码无法编译。
- Unused declared dependencies:意指项目中未使用的,但显式声明的依赖。需要注意的是,对于这样一类依赖,我们不应该简单的直接删除其声明,而是应该仔细分析。由于dependency:analyze只会分析编译主代码和测试代码需要用到的依赖,一些执行测试和运行时需要的依赖它就发现不了。