Maven从零开始_1_Maven概览
来源:互联网 发布:base64 java 保存图片 编辑:程序博客网 时间:2024/06/05 11:51
/*
前言
之前做个项目,用php的cms改的,后来就想,java有没有自己的cms呢?如果看开源的cms代码,会不会进步很多呢?于是抱着这样的心态,在网上找到了一个中国人写的java版本的开源的cms:点击打开链接 ,名字是jpress,架构没有采用传统的spring或者ssh这种,利用的也是中国人编写的一个轻量级的web框架jfinal:点击打开链接 ,于是现在的我想学习下这些只是,对jpress进行快速二次开发,甚至想利用spring或者ssh编写一套cms。
整个项目里,利用的maven进行项目管理,之前也有前辈说让我学习maven,但是到目前为止我也不知道maven到底是干什么的,在网上找了相关视频进行学习,这里留下笔记,可能没有参考价值,只为自己做一个记录。
Maven学习视频地址:点击打开链接
*/
一. Maven 是做什么用的呢?
其实我也不知道,到目前为止只知道是一个apache下的一个项目构建工具,方便java项目的开发,具体什么情况随着学习再进行了解。
二. Maven的安装
1. 去 官网下载maven
2. 解压,出现如下目录
3. 配置环境变量
(a)新建系统变量
(b)bin目录拷贝到path中
(c)运行cmd,查看maven版本,测试是否安装成功
如图安装成功:
三. 用一个手动建立的小例子,最直观的看看maven怎么用
1. 新建一个文件夹maven_2016作为工作区,在里面新建文件夹maven_ch01作为第一个项目存放的文件夹。
2. 新建一个pom.xml,并且编辑他如下:
3. 在 maven_ch01中新建个文件夹“”src“,“src”中新建两个:“main”和“test”。在“main”中新建“java”文件夹,在“java”文件夹中新建代码。
4. 在main中,新建出package路径,并把代码剪切到其中。
5. 使用cmd,切换到maven_ch01目录,使用 mvn compile命令Build项目,此时,会发现maven会从网上自动下载相关依赖,如图:
出现如下图,表示完成:
6. 回过头看maven_ch01目录下
多了一个target文件夹,里面有classes文件夹,里面存放的是我们java文件编译后的class文件,这说明,maven在执行mvn compile命令后,帮我们编译了我们写好的java文件。
7. 我们继续写
我们在test文件夹中新建java文件夹,在其中编写测试类。
8. 在test文件夹下新建后,相应的package路径,并剪切到其中
9. cmd执行 mvn test命令:
并没有下载junit的jar包,因为没有在pom.xml中做配置
10. 在pom.xml中配置 Junit相关,再次运行命令
11. 小结
到了这里,我们有了个小小的认识,maven帮我们自动管理了jar包,试想如果未来公司使用了svn等管理工具,新来的员工,下载好项目,还要自己配置环境,自己配置Tomcat,如果利用maven,可以进行自动化管理、编译、测试、自动发布等等,非常的方便。
12 . 其他命令
(a) clean命令
清除之前生成的结果文件
执行后发现target文件夹就没有了。
(b)package命令
先编译,然后测试,生成target等文件夹和文件,然后生成项目的jar包。
然后新建另一个maven项目maven_ch02,记得拷贝并修改pom文件,试着将ch01应用到第二个项目中
artifactId改成02,增加一个scope标签。
因为我们没有使用ide来做,我们按照第一个项目的顺序新建文件夹,新建一个新的Hello类:
编译一下项目:
报错,找不到HelloMaven类
这个时候我们要把第一个项目引入到第二个中,方法是在pom文件中配置。
这个时候,我们要先在ch01中执行mvn install命令,然后切换到ch02执行mvn compile才可以,否则如果在ch02直接执行compile会报错找不到。
13. 再次小结
(a)我们发现,如果我们,将项目分成一个个模块开发,那么将来开发别的项目,可以直接将现有模块快速导入,这是让我觉得非常牛逼的地方。
(b)五个命令
四. 仓库
我们经过上面的例子,发现jar包不需要引入到工作区,那么下载好的jar包都在哪里呢?
windows默认如图:
五. 自我总结
到这里,算是大概明白了maven的作用和好处,集中管理jar包和各个项目模块,编译、测试、发布等一体完成,爽的一批。
- Maven从零开始_1_Maven概览
- maven概览
- Maven从零开始
- 1.Django入门:从零开始-概览
- Maven实战(Maven框架概览)
- 从零开始学习Android开发-Android概览
- Maven从零开始_3_Maven依赖
- Myeclipse从零开始搭建Maven工程
- 概览
- 从零开始通过Eclipse 创建Maven web工程
- Maven从零开始_2_Maven安装的注意事项
- Maven从零开始_4_Maven聚合和继承
- win64从零开始搭建eclipse maven工程
- 《从零开始搭建游戏服务器》项目管理工具Maven
- 从零开始通过Eclipse 创建Maven web工程
- 从零开始使用Maven(一)创建Maven项目
- 从零开始使用Maven(三)Maven的聚合工程
- 第1章 maven概览及快速入门
- 使用sslsplit实现https,imaps,pop3s, smtps等透明代理
- java switch 选择结构语句,输入非数字的解决方案!
- Java 十大异常报错(Exception)
- 第五章 循环和关系表达式(1)
- kubernetes1.4 基础篇:Learn Kubernetes 1.4 by 6 steps(2):Step 1. Create a Kubernetes cluster
- Maven从零开始_1_Maven概览
- GPU CUDA and MEX Programming
- Wireshark Lab 2
- Spark笔试题
- alias的功能
- PHP常用的缓存技术汇总
- for循环与while循环的区别
- 一个在校大学生的开源之路:从0到1024
- 打牢基础:数据类型与运算符