maven学习--maven初步

maven介绍

开发中遇到的问题
1、都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行?
2、为什么在我的机器上可以正常打包,而配置管理员却打不出来?
3、项目组加入了新的人员,我要给他说明编译环境如何设置,但是让我挠头的是,有些细节我也记不清楚了。
4、我的项目依赖一些jar包,我应该把他们放哪里?放源码库里?
5、这是我开发的第二个项目,还是需要上面的那些jar包,再把它们复制到我当前项目的svn库里吧
6、现在是第三次,再复制一次吧 —– 这样真的好吗?
7、我写了一个数据库相关的通用类,并且推荐给了其他项目组,现在已经有五个项目组在使用它了,今天我发现了一个bug,并修正了它,我会把jar包通过邮件发给其他项目组
—–这不是一个好的分发机制,太多的环节可能导致出现bug
7、 项目进入测试阶段,每天都要向测试服务器部署一版。每次都手动部署,太麻烦了

什么是maven
maven是基于pom(工程对象模型),通过一小段描述来对项目的代码,报告,文件进行管理的工具
maven是一个跨平台的项目管理工具,它是使用java开发的,它要依赖于jdk1.6及以上
maven主要有两大功能:管理依赖,项目构建

依赖指的就是jar包.

什么是构建
构建过程:
清理–>编译–>测试–>报告–>打包–>部署

项目构建的方式

1.eclipse
使用eclipse进行项目的构建,相对来说,步骤比较零散,不好操作
2.Ant
它是一个专门的项目构建工具,它可以通过一些配置来完成项目构建,这些配置要明确的告诉ant,源码包在哪?目标class文件应该存放在哪?资源文件应该在哪
3.maven
它是一个项目管理工具,他也是一个项目构建工具,通过使用maven,可以对项目进行快速简单的构建,他不需要告诉maven很多信息,但是需要按照maven的规范去进行代码的开发.也就是说maven是有约束的

maven工程初步

maven工程结构

project
    |--src(源码包)
        |--main(正常的源码包)
            |--java(.java文件的目录)
            |--resource(资源文件的目录)
        |--test(测试的原貌包)
            |--java
            |--resource
    |--target(class文件,报告等信息存储的地方)
    |--pom.xml(maven工程的描述文件)

maven命令的使用
maven的命令要在pom.xml所在的目录中去执行

mvn compile:编译的命令
mvn clean:清除命令,清除已经编译好的class文件,具体说是清除target目录中的文件
mvn test:测试命令,会将test目录中的命令进行编译
mvn package: 打包命令
mvn install: 安装命令,将打好的jar包安装到本地仓库

clean命令可以和其他命令组合使用

maven工程创建

两种创建方式
1.使用maven骨架创建
2.不使用maven骨架创建

你可能感兴趣的:(java学习,maven学习)