初识Maven
来源:互联网 发布:焊缝截面计算软件 编辑:程序博客网 时间:2024/05/22 17:28
前段时间跟一个大神讨论我帮一个学姐做的毕业设计的时候,他推荐我去学Maven;这段时间一直在忙,没顾得不上去看,刚好最近一个今年毕业的软工朋友给了我他们班同学今年的毕业设计项目,有几个是用Maven做的,恰好,边学Maven边研究学长学姐们的毕业设计。
下面我们就正式开始学习maven:
一、Maven是干嘛的
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
二、常用的Maven命令
mvn archetype:create 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
三、WIN7配置
1、将下载好的maven插件包解压到合适的目录下(如:E:\apache-maven-3.3.3);
2、Maven有一个重要的文件”settings.xml“,这个文件来源于apache-maven-2.0.8/conf/ 下,要放在window下, Win7和Winxp还是有点不一样 , Win7 —C:\Users\用户名.m2 , Winxp —C:\Documents and Settings\用户名.m2 。也就是以后项目要运行加载的资源之类的会放在以上目录,为了不占用系统盘,我们更换该路径(本人的做法):在E盘下创建maven文件夹,将setting.xml文件放到该文件夹下,在该文件夹中再创建一个repository文件夹(用于存放以后系统自动加载的资源),接下来我们就要修改setting.xml了:
这一行代表了Maven的Jar包仓库的位置。repository下放的都是项目所用到的jar包,每个Project都可以共用一个repository。
<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <!-- 加上这一句(repository文件夹的路径)--><localRepository>E:/maven/repository</localRepository>
3、设置Maven的环境变量,基本上和设置Jdk环境变量相似,首先设置MAVEN_HOME,再加入Path 。
4、在DOS窗口中敲:mvn -v
可以查看相关的JDK和Maven的安装版本(安装成功)
四、构建第一个maven项目(结合junit来完成一个简单的程序测试)
第一步:创建项目
创建mavenfirst文件夹,在该文件夹下创建src文件夹和一个pom.xml文件,在src文件夹下创建main(主程序)和test(测试程序)文件夹,文件夹目录如下:
第二步:完成程序
pom.xml
<?xml version="1.0" encoding="utf-8" ?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.lmb.maven</groupId> <artifactId>firstmaven</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> </dependencies></project>
main下的maven中有一个HelloMaven.java
package com.lmb.maven;public class HelloMaven{ public String sayHello(String name){ return "hello:"+name; }}
test下的maven中有一个TestHelloMaven.java
package com.lmb.maven;import org.junit.*;import static org.junit.Assert.*;public class TestHelloMaven{ @Test public void testsayHello(){ HelloMaven hm=new HelloMaven(); String str=hm.sayHello("maven"); assertEquals(str,"hello:maven"); }}
第三步:运行
进入到mavenfirst文件夹下:
之后输入:
mvn compile(编译)
mvn test(运行测试程序)
运行后的结果如下:
这样,我的第一个maven程序就完成了。
- 初识maven
- 初识Maven
- 初识Maven
- Maven初识
- 初识Maven
- 初识Maven
- maven初识
- 初识 maven
- 初识Maven
- maven初识
- 初识maven
- 初识 maven
- maven初识
- 初识maven
- Maven初识
- 【maven】---初识
- 初识Maven
- maven初识
- android 获取手机内存大小
- android 把1位数,补0变成2位数
- iOS 项目中用到的一些 iOS 开源库和第三方组件
- android 自定标题栏的应用
- Android 调用系统发送短信界面,预设号码和短信内容
- 初识Maven
- android 手机系统日期及时间的读取
- android 我用过的一些权限,网络、SD卡、手机硬件信息、自动横屏、键盘自动弹出
- android 读取手机硬件信息,我这里只读出SMEI码
- 查看jdk位数
- android 声音播放,我这里是给软件配的音效
- android 按手机返回键2次退出程序
- Java之线程状态
- HDU--杭电--3572--Task Schedule--最大流