使用Maven Archetypes快速创建新项目

一、下载及安装

1.1 下载maven 3.1.1

先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录.

2.1 配置环境变量

系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为解压路径,然后PATH环境变量最后附加上";%MAVEN_HOME%\bin"。还可以追加MAVEN_OPTS,设定maven的java虚拟机内存使用量:-Xms128m -Xms512m

检测方法:

a) 重新进入命令行(DOS窗口)模式,输入 echo %MAVEN_HOME% 如果能显示 C:\Java\maven-3.1.1 说明环境变量起作用了

b) 输入 mvn -version,正常情况下会显示maven及jdk的版本号

(前提:jdk环境必须先安装好,否则后面无法正常编译项目)


3 理解“仓库”

首次运行完mvn -version后,会在用户目录下创建一个.m2的目录(比如:C:\Users\当前用户名\.m2\),这个目录是maven的“本地仓库”,仓库是maven中一个很重要的概念。

试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包(.NET中是dll文件),一种作法是每个项目里,都复制一份这些依赖的jar包(或dll文件),这样显然不好,相同的文件在硬盘上保存了多份,太占用空间,而且这些依赖的jar包(或dll文件)的版本也不太好管理(比如某个公用的jar包,从1.0升级到2.0,如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改)。

maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识(注:坐标是另一个重要的概念,后面还会讲到,这里只要简单理解成“唯一识别某个jar包文件名、版本号”的标识即可),这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中,整个maven项目看起来十分清爽。



4 配置代理服务器(可选)

maven项目在编译、测试、打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载jar包等文件,如果使用代理服务器上网,需要配置代理服务器。

把%MAVEN_HOME%\conf\settings.xml复制一份到本地仓库C:\Users\当前用户名\.m2\下,然后编辑该文件,找到下面这段

  <proxies>
    <!-- proxy
     Specification for one proxy, to be used in connecting to the network.
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
    -->
  </proxies>

把注释去掉,host这里填写代理服务器的地址(可以用IP)以及port端口,如果需要用户名/密码认证,则填写username/password节点,否则username/password这二个节点去掉,nonProxyHosts表示某些地址不需要经过代理服务器,多个地址之间用|分隔,支持通配符,比如172.156.*

二、使用Maven

1、基于Archetype创建工程:
使用Maven的archetype可以从Maven中央仓库快速生成一个新项目 。
在Eclipse中的Maven配置下,Archetypes中如果没有archetypes列出,可以新增远程列表:

点击Add Remote Catalog...,在弹出框中输入以下地址:
http://repo1.maven.org/maven2/archetype-catalog.xml


这样就可以在Eclipse中新建Maven项目,根据向导从Maven中央仓库中获取各种项目模板了。



2、maven 关联本地项目jar包
<dependency>
      <groupId>com.artofsolving</groupId>
      <artifactId>jodconverter-core</artifactId>
      <version>3.0-beta-4</version>
      <scope>system</scope>
      <systemPath>${basedir}/lib/jodconverter-core-3.0-beta-4.jar</systemPath> 
    </dependency>

注意lib目录必须与pom.xml同级。

猜你喜欢

转载自hwei199.iteye.com/blog/2257617