Maven基础教程
更多内容请参考官方文档:http://maven.apache.org/guides/index.html
官方文档很详细,基本上可以查找到一切相关的内容。
另外,快速入门可参考视频:孔浩的maven视频。
一、快速入门
(一)搭建环境
1、下载maven,并将之解压
或者直接使用yum 来安装
2、配置环境变量
export PATH=/home/jediael/setupfile/apache-maven-3.1.1/bin:$PATH
3、验证环境
[jediael@master maven_demo]$ mvn -v
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 23:22:22+0800)
Maven home: /home/jediael/setupfile/apache-maven-3.1.1
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0_51/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-431.17.1.el6.x86_64", arch: "amd64", family: "unix"
(二)项目编写
1、建立如下目录结构
[jediael@master maven_demo]$ tree
.
├── pom.xml
└── src
├── main
│ └── java
│ └── com
│ └── ljh
│ └── mavendemo
│ └── HelloMaven.java
└── test
└── java
└── com
└── ljh
└── mavendemo
└── HelloMavenTest.java
11 directories, 3 files
2、HelloMaven.java内容如下
package com.ljh.mavendemo;
public class HelloMaven{
public String sayHello(String s){
return "hello:"+s;
}
public static void main(String[] args){
HelloMaven hm = new HelloMaven();
System.out.println(hm.sayHello("maven"));
}
}
3、HelloMavenTest.java内容如下:
package com.ljh.mavendemo;
import org.junit.*;
import static org.junit.Assert.*;
public class HelloMavenTest{
@Test
public void testSayHello(){
HelloMaven hm = new HelloMaven();
assertEquals("hello:Jason",hm.sayHello("Jason"));
}
}
4、pox.xml内容如下:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ljh.mvn</groupId>
<artifactId>mavendemo</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>mavendeom</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
(三)运行项目
1、编译项目
$ mvn compile
2、运行测试
$ mvn test
3、也可以对项目直接打包成jar包
$ mvn package
此过程也会执行test
4、若所生成的jar包中包括main方法,则可以使用以下命令执行
$ java -cp target/mavendemo-1.0-SNAPSHOT.jar com.ljh.mavendemo.HelloMaven
hello:maven
经过这些步骤后的目录结构如下:
[jediael@master maven_demo]$ tree
.
├── pom.xml
├── src
│ ├── main
│ │ └── java
│ │ └── com
│ │ └── ljh
│ │ └── mavendemo
│ │ └── HelloMaven.java
│ └── test
│ └── java
│ └── com
│ └── ljh
│ └── mavendemo
│ └── HelloMavenTest.java
└── target
├── classes
│ └── com
│ └── ljh
│ └── mavendemo
│ └── HelloMaven.class
├── maven-archiver
│ └── pom.properties
├── mavendemo-1.0-SNAPSHOT.jar
├── surefire-reports
│ ├── com.ljh.mavendemo.HelloMavenTest.txt
│ └── TEST-com.ljh.mavendemo.HelloMavenTest.xml
└── test-classes
└── com
└── ljh
└── mavendemo
└── HelloMavenTest.class
22 directories, 9 files
(四)项目间互相引用
1、将上述项目安装至maven库中
$ mvn install
这会在/home/jediael/.m2/repository/com/ljh目录下生成以下文件:
.
└── mvn
└── mavendemo
├── 1.0-SNAPSHOT
│ ├── mavendemo-1.0-SNAPSHOT.jar
│ ├── mavendemo-1.0-SNAPSHOT.pom
│ ├── maven-metadata-local.xml
│ └── _remote.repositories
└── maven-metadata-local.xml
3 directories, 5 files
2、在其它项目中即可通过以下内容对上述项目进行引用
<dependencies>
<dependency>
<groupId>com.ljh.mvn</groupId>
<artifactId>mavendemo</artifactId>
<version>.0-SNAPSHOT</version>
</dependency>
</dependencies>
二、其它内容
1、设置本地仓库的位置
修改$MAVEN_HOME/setting.xml文件中的内容:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
—>
默认是~/.m2/repository,可根据实际情况修改
2、自动生成目录结构
由于使用maven需要按照特定的目录结构放置文件,而每次手工创建目录及pom.xml太麻烦,因此maven提供了工具用于自动创建相关目录及pom.xml。
mvn archetype:generate -DgroupId=com.ljh.demo -DartifactId=helloworld -Dversion=0.0.1-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
[jediael@master test]$ tree helloworld/
helloworld/
├── pom.xml
└── src
├── main
│ └── java
│ └── com
│ └── ljh
│ └── demo
│ └── App.java
└── test
└── java
└── com
└── ljh
└── demo
└── AppTest.java
11 directories, 3 files
三、在eclipse中使用maven
(一)配置maven
可以使用eclipse中的默认配置,但一般会指定自己使用的maven。
1、指定maven安装目录
2、修改配置文件的路径
Maven基础教程的更多相关文章
- Maven基础教程 分类: C_OHTERS 2015-04-10 22:53 232人阅读 评论(0) 收藏
更多内容请参考官方文档:http://maven.apache.org/guides/index.html 官方文档很详细,基本上可以查找到一切相关的内容. 另外,快速入门可参考视频:孔浩的maven ...
- Dubbo 基础教程
原文地址:Dubbo 基础教程 博客地址:http://www.extlight.com 一.前言 当服务越来越多时,容量的评估,小服务资源的浪费等问题逐渐显现,此时需要增加一个调度中心基于访问压力实 ...
- Spring Boot基础教程》 第1节工具的安装和使用
<Spring Boot基础教程> 第1节 工具的安装和使用 Spring Boot文档 https://qbgbook.gitbooks.io/spring-boot-reference ...
- Spring Boot 2.x基础教程:Swagger静态文档的生成
前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了.如果您还不熟悉这块,可以先阅读: Spring Boo ...
- Spring Cloud Alibaba基础教程-Nacos(三)
在Spring Cloud Alibaba基础教程-Nacos(二)当中学习了,如何使用 nacos图形化界面操作 ,使用Nacos部署集群,下面我们开始Nacos最后一篇的学习 ,如果对你有帮助,记 ...
- Spring Cloud Alibaba基础教程-Nacos(一)
2019快结束,也有很久没写博客了,今天我们来谈谈Nacos,如果对您有帮助,麻烦左上角点个关注 ,谢谢 ! 嘻嘻 今天先写第一篇 文章目录 为什么要使用Nacos Eureka 闭源 Nacos的优 ...
- maven基础学习-为什么要用maven,帮助解决了什么问题,怎么解决的,希望以后学习每个知识点都可以这样问下自己
maven基础学习 第1章 Maven介绍 1.1 什么是Maven 1.1.1 什么是Maven Maven 的正确发音是[ˈmevən],而不是"马瘟"以及其他什么瘟.Mave ...
- Maven——基础篇
Maven--基础篇 Maven出现前的问题 一个项目就是一个工程,而工程内一般是通过package包来分模块,比较用户模块,订单模块等,如果项目过于庞大,通过包模块来划分就不太合适,而应该拆分为模块 ...
- matlab基础教程——根据Andrew Ng的machine learning整理
matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...
随机推荐
- php 之 数据访问 增删改查
一.建立主页面: <title>主页面</title> </head> <body> <h1>主页面</h1> <tabl ...
- JQuery日历插件My97DatePicker日期范围限制
My97DatePicker是一个非常优秀的日历插件,不仅支持多种调用模式,还支持日期范围限制. 常规的调用比较简单,如下所示: 1 <input class="Wdate" ...
- linux 下 重启apache
重启 apache #service httpd restart
- uC/OS-II中的中断(转)
中断是指在程序运行过程中,应内部或外部异步事件的请求中止当前任务,而去处理异步事件所要求的任务的过程. 中断服务函数(ISR)是应中断请求而运行的程序. 中断向量就是中断服务函数(ISR)的入口地址, ...
- Microsoft.Practices.Unity 给不同的对象注入不同的Logger
场景:我们做项目的时候常常会引用第三方日志框架来帮助我们记录日志,日志组件的用途主要是审计.跟踪.和调试.就说我最常用的日志组件log4net吧,这个在.NET同行当中应该算是用得非常多的一个日志组件 ...
- 局域网架个YUM源-HTTP的
在安装CDH时,这是个绕不过去的坎. 参考URL: http://www.21ops.com/linux/26465.html 奇怪的是,我并没执行creatrepo这个,直接将光盘MOUNT来用的. ...
- java中如果需要精确的计算答案,请避免使用double类型与float类型
double类型与float类型主要用于科学计算与工程计算而设计的,用于二进制浮点计算.对于普通计算通常是结果不准确的,所以对于普通的浮点数的加减法等,解决的方法需要用int,long,BigDeci ...
- 【转】Ubuntu 修改hosts
原文网址:http://l.14551.org/2009/12/2166 Ubuntu系统的Hosts只需修改/etc/hosts文件,在目录中还有一个hosts.conf文件,刚开始还以为只需要修改 ...
- [转]Ubuntu Tweak 0.8.7 发布:支持 Ubuntu 14.04
原文网址:http://www.oschina.net/news/51054/ubuntu-tweak-0-8-7 这是我开发 Ubuntu Tweak 七年以来第一次没在 Ubuntu 正式发布之前 ...
- pyqt记录内容(音乐播放器)
#这是UI文件 # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'AudioPlayerDia ...