Maven一些总结

1.Maven的安装和配置

从Maven的官网上下载Maven的安装包,http://maven.apache.org/download.html

将其解压在你想安放的目录下。

然后配置Maven的环境变量(M2_HOME),比如说我的Maven安装在D:\Maven\apache-maven-3.0.3下,那么M2_HOME=D:\Maven\apache-maven-3.0.3。如果想在任何目录下使用maven命令,就将M2_HOME目录下的bin目录加入到加入到系统环境变量Path中。

使用mvn -v 就可以看到当前maven的版本信息,表明安装成功。

注:安装maven前必须确定自己的电脑已经安装了JDK,并且java环境已经配置好了。

2.设置HTTP代理

有些时候处于安全考虑,自己的主机不能直接访问外网的中央仓库,而是指定一个经过安全认证的代理服务器,通过该代理服务器来访问中央仓库。

如何配置HTTP代理?

首先在安装了Maven后,M2_HOME/conf目录下放置了Maven的配置信息(setting.xml),我们可以通过修改该文件来设置代理。但是,如果直接在该文件上修改,那么影响将是全局的,而且不利于以后的升级。所以我们将该文件复制一份,放到~/.m2下,那么该文件将会覆盖M2_HOME/conf下的setting.xml,而且只对当前用户有效。这样每个用户都可以根据自己的喜好和需求来配置适合自己的Maven。具体如何在setting.xml中配置HTTP代理,代码入下:

<proxies>

<proxy>

<id>my-proxy</id>

<active>true</active>

<protocol>http</protocol>

<host>...</host>

<port>...</port>

<useranme>...</useranme>

<password>...</password>

<nonProxyHosts>...</nonProxyHosts>

</proxy>

</proxies>

<active>的值为true,表示该代理被激活,<protocol>表示代理协议,当然是http了,<host>表示代理的主机地址,<port>代表代理主机的端口,<useranme>,<password>

用来进行安全认证, <nonProxyHosts>代表哪些主机不需要进行代理。

注:当在做项目使用Maven的时候,必定要下载很多jar包和插件放在本地的仓库中,安装好Mavaen后,本地仓库会有一个默认的存放位置。当然也可以通过配置setting.xml文件来改变。比如我自己的配置,将仓库放在D:/dev/repository下:

<localRepository>D:/dev/repository</localRepository>

3.pom文件编写的一些细节

①在编写pom文件的时候,相同的版本号或其他一些字符串会重复出现,那么我们可以将重复的字符串抽取出来,进行定义,然后在需要使用的地方进行引用。如下:

<properties>

<springframework.version>2.5.6</springframework.version>

</properties>

.....

<dependency>

<groupId>...</groupId>

<artifactId>...</artifactId>

<version>${springframework.version}</version>

</dependency>

....

4.聊聊Maven的仓库机制

我们不必每做一个项目就将其所依赖的jar包和插件都引入到项目中,我们可以定义依赖,指定在仓库中的位置。仓库包含了很多的插件和jar包,分为本地仓库和远程仓库,当定义一个依赖的时候,系统会首先根据坐标在本地仓库中寻找jar包,如果本地仓库中有所需要的jar包和插件,那么就不会去访问远程仓库,如果没有就会去访问远程仓库,并且把相应的jar包和插件下载到本地仓库中去。

注:安装好Maven以后,如果不执行任何Maven命令,本地仓库目录是不存在的,当用户输入第一条Maven命令之后,Maven才会创建本地仓库。

Maven安装好后,会有一个默认的远程仓库,即中央仓库,配置信息写在Maven的超级POM文件中。当然除了中央仓库,还可以配置其他远程仓库。即当在中央仓库中找不到jar包的时候回去其他远程仓库中寻找。配置代码如下:

<repositories>

<repository>

<id>public</id>

<url>http://192.168.1.20:8081/nexus/content/groups/public/</url>;

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

在组织内部,有一个Maven仓库服务器,该服务器为每个项目都提供独立的Maven仓库,为了防止非法的仓库访问,管理员为每个仓库提供了一组用户名和密码。为了能让Maven访问仓库内容,就需要配置认证信息。配置代码如下:

<server>

<id>releases</id>

<username>deployment</username>

<password>deployment123</password>

</server>

仓库的镜像

如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何可以从Y获得的构件,都能从它的镜像中获取。

<mirrors>

<mirror>

<id>mirrorId</id>

<mirrorOf>central</mirrorOf>

<name>Human Readable Name for this Mirror.</name>

<url>http://my.repository.com/repo/path</url>;

</mirror>

</mirrors>

上述代码配置了一个中央仓库的镜像仓库mirrorId。其他配置项与一个普通仓库是相同的。

5.生命周期和插件

在有关Maven的日常应用中,命令行的输入往往就对用了生命周期,如mvn package就表示执行生命周期阶段package。

Maven有三套生命周期,clean,default,site.

三套生命周期是相互独立的,用户可以仅仅调用生命周期的某一个阶段,而不会对其他周期产生影响。

时间: 2024-07-29 15:31:01

Maven一些总结的相关文章

IDEA 配置maven

编写Maven的settings.xml文件内容如下 引入阿里镜像和maven在中国的中央仓库镜像 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc

使用 IDEA 创建 Maven Web 项目 (异常)- Disconnected from the target VM, address: &#39;127.0.0.1:59770&#39;, transport: &#39;socket&#39;

运行环境: JDK 版本:1.8 Maven 版本:apache-maven-3.3.3 IDEA 版本:14 maven-jetty-plugin 配置: <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <configuration> <webAppSourceDirectory>${pro

maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理

maven依赖本地非repository中的jar包 http://www.cnblogs.com/piaolingxue/archive/2011/10/12/2208871.html 博客分类: MAVEN 今天在使用maven编译打包一个web应用的时候,碰到一个问题: 项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入. 在eclipse中开发没有问题,但是使用maven编译插件开始便宜总是报找不到WEB-INF

eclipse 创建maven web项目

前言: 前面那一篇讲解了Maven的作用以及详细的应用,不了解Maven的具体使用,请参读:http://www.cnblogs.com/hongwz/p/5456578.html,下面来说明一下IDE构建Maven项目. 1.新建Maven项目 1.1 File -> New -> Other 1.2 选择Maven Project ,单击Next 1.3 保持默认即可,单击Next 1.4 选择Archetype为 web app,单击Next 1.5 输入一些必要信息,单击Finish

解决Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径。)问题

最近自己在公司项目修改一些代码以后,出现如题的错误,后来各种Google等,最终找到了解决办法. 错误环境:Tomcat7 + Eclipse + Maven + Spring + SpringMvc + Mybatis 错误描述: 错误解决步骤: 1.找到eclipse的project菜单选择clean...选项 2.选择Clean all projects 或者 Clean projects selectd blow(选择此项必须勾选出错的项目) 3.等着progress视图里的build完

linux安装maven及配置环境变量 配图

Maven 3.5.0 maven安装和环境变量的配置 1 下载 maven 链接:http://pan.baidu.com/s/1qXXjXfe 密码:r92r 2 解压安装包 tar zvxf apache-maven-3.5.0-bin.tar.gz 3  配置maven环境变量 vi  /etc/profile   编辑系统配置文件 #set Maven environmentexport MAVEN_HOME=/usr/local/software/dir-maven/apache-m

eclipse创建maven项目

以下内容不包含maven的配置... 好,进入主题. 首先new一个项目,选择Maven Project,点击Next 选择默认即可,继续点Next 我这里创建的是web工程,所以选择webapp后点击Next 填好 groupid和artifactId后会自动填写package,填完后点击finish.关于groupid和artifactId的解释我从网上找了下,大家可以参考下   "groupid和artifactId被统称为"坐标"是为了保证项目唯一性而提出的,如果你要

MAVEN

<distributionManagement> <repository> <id>releases-repo</id> <name>Internal Releases</name> <url>http://${nexus.proxy.location}/nexus/content/repositories/releases/</url> </repository> <snapshotRepo

maven的jar包存储的位置

从Maven中心仓库下载到本地的jar包的默认存放在"${user.home}/.m2/repository"中,${user.home}表示当前登录系统的用户目录(如"C:\Users\gacl"), 点击进入repository文件夹, Jar包存放在这个位置不太好,我们希望能够自己定义下载下来的jar包的存放位置,因此我们可以自己设置下载到本地时的jar包的存放目录. 在"E:\"目录下创建一个"repository"文

Maven详解(二)------ Maven的安装配置

1.下载 Maven ①.官网下载地址:http://maven.apache.org/download.cgi ②.百度云盘:http://pan.baidu.com/s/1eS1NVYa 密码:9y3w 2.配置 Maven 环境变量 将下载的 maven 压缩包解压到电脑的某个盘符,我这里是 D:\JavaTools\apache-maven-3.3.9 ①.右键---计算机属性----高级系统设置---高级---环境变量---系统变量----新建   变量名:MAVEN_HOME 变量值