发表于: 2018-04-02 23:05:45
2 734
今天完成的事情:
看了Maven的Documen,用Maven创建了一个java项目,对Maven的流程作用使用方法有了更深一步的理解.
参考资料:http://www.cnblogs.com/xdp-gacl/p/3498271.html,https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
明天计划的事情:
解决今天的疑惑点(依赖范围scope),然后接着看Maven的相关资料,用Maven构建一个java web项目.
遇到的问题:
因为今天主要在看理论知识,没有怎么动手也就没有遇到什么太大的问题.
收获:
1.项目构建
1.1 项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。
- 但是在实际Maven Phases中好像只有:clean-compile-test-package-install这几个步骤,Maven官方的5分钟测试里创建了Java Project后,直接mvn package然后运行,在网上查阅到的资料里,虽然有按部就班的mvn compile,mvn test,mvn package 但是在直到package为止,执行下一个命令前都有一条mvn clean,所以前面几个步骤应该只是便于理解,可以直接从package开始往下走?
- 1.2 Maven坐标主要组成
- groupId:组织标识(包名)
- artifactId:项目名称
- version:项目的当前版本
- packaging:项目的打包方式,最为常见的jar和war两种
2.依赖管理
- 依赖指的是jar包之间的相互依赖,比如我们搭建一个Struts2的开发框架时,光光有struts2-core-2.3.16.3.jar这个jar包是不行的,struts2-core-2.3.16.3.jar还依赖其它的jar包,依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。
- 2.1 依赖配置主要包含如下元素:
<!--添加依赖配置-->
<dependencies>
<!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<!--项目要使用到Hello的jar包,所以在这里添加Hello的jar包的依赖-->
<dependency>
<groupId>me.gacl.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
2.2 依赖配置主要包含如下元素:
依赖范围scope用来控制依赖和编译,测试,运行的classpath的关系. 主要的是三种依赖关系如下:
1.compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效
2.test:测试依赖范围。只对于测试classpath有效
3.provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api
4.runtime:运行时提供。例如:jdbc驱动
评论