Maven教程
以下的内容是为了帮助您运用Maven这个工具这个工具。这个工具不光是在构建GeoServer的时候在写Java的时候都非常有用。
想象一下,您做了一个大的GIS工程。这个工程用到的jar包就有几十个甚至上百个。然后根据编译需要以及潜在的冲突您还要自己删或者增加iar包。会累成狗对吧。而Maven可以避免这个问题,他通过pom.xml文件来获取所需要的依赖配置项等等自己下载jar包到本地仓库。很棒对吧。下面我们来学习一下如何使用Maven。本篇为通用教程,告诉您如何用Maven来搞一个Java工程。下一篇教程会告诉您,关于在GeoServer中如何进行编译工程。
几个网址
Maven 阿帕奇 官网 : https://maven.apache.org/
Maven 仓库 :http://mvnrepository.com/
基本概念
首先我们要了解Maven中的几个基本概念:
1、POM (Project Object Model)
最主要的配置文件!所有的关于工程的配置都在这里。
2、依赖(Dependency )
3、坐标
Maven中的jar包,都是由坐标确定的,只要有准确的坐标就可以找到对应的jar包。
groupId :
artifactId :
version:
packaging :
classifier :
详细概念
1、使用Archetype生成项目骨架
其实我们可以通过文件夹一点点构建出一个工程但是那样好烦人啊。所以Maven提供了Archetype(龙骨)来辅助直接生成一个整体的项目骨架。
http://repo1.maven.org/maven2/archetype-catalog.xml 左边的网址可以看到Maven中央仓库中已经包含的249个Archetype
。此外,还有大量没有发布到中央仓库的Archetype分布在其他Maven仓库中。任何人都不可能全部了解它们,下面是几个比较常用的Archetype。
1.maven-archetype-quickstart
maven-archetype-quickstart可能是最常用的Archetype,当mavenarchetype-plugin提示用户选择Archetype的时候,它就是默认值。使用mavenarchetype-quickstart生成的项目十分简单,基本内容如下:
一个包含JUnit依赖声明的pom.xml。src/main/java主代码目录及该目录下一个名为App的输出”Hello World!”的类。src/test/java测试代码目录及该目录下一个名为AppTest的JUnit测试用例。当需要创建一个全新的Maven项目时,就可以使用该Archetype生成项目后进行修改,省去了手工创建POM及目录结构的麻烦。
2.maven-archetype-webapp
这是一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候就可以使用它。使用maven-archetype-webapp生成的项目内容如下:一个packaging为war且带有JUnit依赖声明的pom.xml。src/main/webapp/目录。src/main/webapp/index.jsp文件,一个简单的Hello World页面。src/main/webapp/WEB-INF/web.xml文件,一个基本为空的Web应用配置
文件。
安装
1、首先确认安装JDK
请确认是否有jdk。jdk安装请参照jdk安装文档。安装完毕之后需要验证安装是否成功。
2、下载Maven
在https://maven.apache.org/下载Maven。
解压
3、配置环境变量
新建系统变量 M2_HOME 此值为Maven的安装位置例如 D:/apache-maven-4.0
在 Path 变量之后添加环境变量 %M2_HOME%\bin;
注意 环境变量分隔使用分号。
4、测试
在cmd命令行中,输入 mvn -v
在Eclipse中的一些配置
如果单纯在文件夹下开发不用IDE倒是可以做到,但是那样很累呀~所以我们会选用一个IDE(开发环境)来辅助开发。大部分Java系开发环境都有Maven的支持或者插件。我们这边用Eclipse进行开发。
首先就要安装Maven插件。
m2e 官网 : http://www.eclipse.org/m2e/
在Eclipse中的一些Maven配置
如果想修改一些Maven配置请从Windows->Preference 打开窗口在里面的左侧寻找Maven然后在里面会发现一些配置项如下:
上面的图修改了Maven自己的用户配置,可以改成你的安装的Maven
配置国内镜像
1、在项目的pom.xml里直接加入
<repositories><!-- 代码库 -->
<repository>
<id>maven-ali</id>
<url>http://maven.aliyun.com/nexus/content/groups/public//</url>;
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
2、在$MAVEN_HOME的conf文件夹的setting.xml的标签里加入
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>;
<mirrorOf>central</mirrorOf>
</mirror>
注意:
1、别忘了使用jdk。
因为有的时候编译代码需要jdk,所以要把eclipse里面的jdk换一下。
2、所以代码的编码要全部换成UTF-8。