您好,登录后才能下订单哦!
【一、定义】
1、Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。
2、Maven可以通过一小段描述来管理项目的构建,报告和文档;
3、Maven是一个项目管理工具,包含:
(A)一个项目对象模型 (Project Object Model),
(B)一组标准集合,一个项目生命周期(Project Lifecycle),
(C)一个依赖管理系统(Dependency Management System),
(D)用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
4、Maven 有一个生命周期,当你运行 mvn install 的时候被调用。
这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。
【二、常用命令】
mvn archetype:create 创建Maven项目
mvn compile 编译源代码
mvn test-compile 编译测试代码
mvn test 运行测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目的生成结果
mvn package 打包项目生成jar/war文件
mvn install 安装jar至本地库
mvn deploy 上传至私服
mvn eclipse:eclipse 生成Eclipse项目文件
mvn ieda:ieda 生成IDEA项目文件
mvn archetype:generate 反向生成maven项目的骨架
mvn -Dtest package 只打包不测试
mvn jar:jar 只打jar包
mvn test -skipping compile -skipping test-compile 只测试不编译也不编译测试
6、创建Maven项目: mvn archetype:generate
编译源代码: mvn compile
发布项目: mvn deploy
编译测试源代码: mvn test-compile
运行应用程序中的单元测试: mvn test
生成项目相关信息的网站: mvn site
清除项目目录中的生成结果: mvn clean
根据项目生成的jar:mvn package
在本地Repository中安装jar :mvn install
生成eclipse项目文件:mvn eclipse:eclipse
启动jetty服务:mvnjetty:run
启动tomcat服务:mvntomcat:run
清除以前的包后重新打包,跳过测试类:mvn clean package -Dmaven.test.skip=true:
【三、Maven使用】
7、配置Maven环境变量(略)
8、检验Maven配置:
a) 重新进入命令行(DOS窗口)模式,输入 echo %MAVEN_HOME%
b) 输入 mvn -version,正常情况下会显示maven及jdk的版本号
【四、Maven应用】
9、我们在工作中会创建很多的项目,项目之间总会有一些公用的jar包,之前我都是把所有的jar包都在每个项目中复制一遍。这样显然不好,相同的文件在硬盘上保存了许多分,而且jar包都是存在版本的像commons-io-1.4.jar与commons-io-1.5.jar方法不兼容。如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改。
10、maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识,这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中。
【五、Idea集成Maven】
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。