当然Maven除了构建的功能以外,还有一些项目管理等等其他功能,这里不再赘述。
2.Maven依赖管理系统
我们编写一个java项目,可能会需要使用到各种各样的包,而build过程中我们是需要这些包的,因此我们必须在Maven中定义依赖关系
在Java世界中,可以用groupId、artifactId、version组成的Coordination(坐标)唯一标识一个依赖。
任何基于Maven构建的项目自身也必须定义这三项属性,生成的包可以是Jar包,也可以是war包或者ear包。
以junit为例,依赖关系表示如下:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
关于包的依赖关系书写,可以在:http://mvnrepository.com/ 这个网站中找到,在最上面的搜索栏输入包名,就可以得到依赖关系的书写方法了
3.travis-ci介绍
持续集成:Continuous Integration,简称CI,意思是,在一个项目中,任何人对代码库的任何改动,都会触发CI服务器自动对项目进行构建,自动运行测试,甚至自动部署到测试环境。这可以理解成为一种坚持的方法,在进行代码的改动后,利用travis-ci进行在线build,如果成功则说明改动没有问题,否则说明修改存在一些错误。那为什么不能在自己电脑上debug而需要使用travis-ci呢?这是需要作为一个验证,可能程序运行依赖了本地有的环境配置,而用户在使用你的程序,由于他的本地没有配置,因此程序无法运行。如果在线build成功,那么程序则可以在不依赖本地环境下运行。
4.编写.travis.yml文件
由于build需要.travis.yml文件,在项目根目录下创建文件并编写内容如下,把文件名改成.travis.yml
那么该文件就编写完成了
language: java
jdk:
- oraclejdk8
5.获得pom.xml文件
打开eclipse,右键项目,选择Configure,再选择Convert to Maven Project。
这样会自动生成一个pom.xml文件,这时候只需要进行依赖关系的添加就可以了
添加过程:
打开pom.xml,在之前提到的网站http://mvnrepository.com/中找到自己需要的包,复制<dependency></dependencies>到pom.xml中,并在其前后要加上<dependencies></dependencies>。
示例如下
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.1.0</version> <scope>test</scope> </dependency> </dependencies>
6.中途遇到的问题
可能会出现如下错误
build failure: error: unmappable character for encoding UTF-8
我的解决办法是将程序中所有的中文都改成英文(包括注释)
但是还可以将字符编码改成cp936 ,GBK等等,也可以改正此错误
另外,由于大部分人使用junit都是junit5,但是在Maven依赖关系查询中直接搜索只会搜索出junit4的包
因此使用junit5需要搜索jupiter,再将其依赖关系到pom.xml
为什么junit4与5的包名不同,这需要进一步研究。