发表于: 2018-04-06 09:45:41

1 699


Nineteenth Day


今日任务:


Maven 学习,如果顺利,再学习一点Spring的知识


1. Maven - Archetype

2. idea + maven

3. 简单的账户注册服务


学习轨迹:


模块 一 Archetype 和 IDEA + Maven


 1. Archetype 生成项目骨架


昨天在练习的时候也看到了,需要按照 Maven 的规定,经src/main/java src/test/java 等目录建立好,以及pom文件写好,通过这些练习可以更好的理解maven的配置情况。

但是,同样的事情做多了,总会觉得厌烦,而且没有质量可言,so maven 提供了Archetype 可以帮助开发者,快速构建项目结构。

下面创建 Archetype 项目

运行:mvn archetype:generate 

开始运行的时候,可能会等待一段时间,之后,会有打断的信息输出,同时会等待输入,这里我默认输入,有选择 archetype 的版本,后面的是填写groupId artifactId 以及 version,最后是 package 名字。

输入完信息之后,是确认信息,然后创建成功。



这个结构和昨天手动创建的结构一样。


关于 mvn archetype:generate ,有些地方使用 

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-5:generate

我们的 mvn archetype:generate 命令实际上是在运行插件 maven-archetype-plugin .

上面长命令是指定了该插件的版本,而短命令则会自动去下载解析最新的稳定版本。

org.apache.maven.plugins --- groupId

maven-archetype-plugin ---  artifactId

2.0-alpha-5  --- 该插件的最新稳定版本。


后续: 通过 Archetype 可以快速创建项目骨架,如果在实际开发中可以自定义Archetype将会更大的提高开发效率

执行编译任务,没问题了。


mvn clean test 




2. 通过 IDEA 创建 maven 项目


第一步: 选择 maven以及创建方式

这里的这几个项目就很清晰了: 左侧是maven 项目,右侧上面是通过 Archetype 创建 项目,右侧中间是选择模板


第二步: 填写项目的坐标(groupId ArtifactId 以及 Version)


第三步: 选择 maven 版本,maven仓库以及信息的确认

第四步:选择项目路径,Finish 确认,等待一会儿。这时候也就知道,当项目没有出来的时候,maven在做什么了,现在相关的依赖包。


到这里,maven 所做的事情都明了了。


运行 maven 命令,IDEA左下角有一个 terminal ,可以直接执行 mvn clean xxx,nice。


模块二: 简单的账户注册服务


account-email 模块


1. mvn archetype:generate 创建简单的maven项目


2. 修改POM文件,添加依赖(这里用到了 springframework)


在 dependencies 元素下面添加依赖,默认生成的已经有了 JUnit 依赖

昨天没有细看依赖,其实依赖也是和创建一个maven项目一样的,都是通过 groupId 、artifactId和version作为坐标来锁定一个maven库中的jar包的,scope是指当前的jar包只在test下起作用,main下不起作用。


引入 maven 库的过程:以spring-core为例

1. 在 POM.xml 文件中 <dependencies> 下添加 <dependency></dependency> 标签

2. 到 maven 仓库中搜索 spring-core,并找到 Maven配置文件

3. 将配置文件添加到 POM 文件中即可


注意第一次添加的时候,因为本地仓库没有,会报找不到的错误,执行mvn clean compile 即可

重新加载之后就好了



按照上面的方式添加需要依赖的库之后POM文件如下


不得不说 maven 真的是太好用了,这些依赖只要通过POM文件就完全引入,而且与 Java 代码完全解耦,非常 NICE


再看依赖库结构:

依赖库以 <dependency> </dependency> 包含

由 groupId 、 artifactId和version构成了依赖坐标


通过引用可以得出,任何一个Maven项目都必须有这个坐标,只有这样才能被其他的项目所依赖。



   总结:

今天熟悉了下 Maven 的使用,同时使用了依赖。


明日计划:


继续这个登录系统



返回列表 返回列表
评论

    分享到