`
snoopy7713
  • 浏览: 1148995 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

Maven的配置和使用

阅读更多

1、下载和安装maven

注:在使用之前,应首先安装JDK。

#可以去共用目录中下载,下载完后解压到指定的目录中,如C:\Program Files\apache-maven-2.2.0

#配置环境变量:1)MAVEN_HOME: 你安装的Maven的目录,如C:\Program Files\apache-maven-2.2.0

#在Path 中加入%MAVEN_HOME%\bin

配置完之后,在命令窗口中使用 mvn –version 会出现如下信息

此时,maven已经安装配置好了。


2、使用maven来构建项目,从源代码编译成二进制项目文件

用maven对项目打包,比如用svn下载项目从

    svn://10.0.0.58:8000/java/materias/poc/maven/core/ ,下载到指定的目录,比如放在E:\workspace\java\materias\poc\maven\core目录下

项目的结构如下:

包括src源代码目录,unit test源码目录,以及配置文件目录resources

打开命令窗口,用cd命令转到项目所在的目录下

运行mvn compile ,假如下现如下的结果,则该命令运行成功。

该命令是用来编译所有的的(java)源文件,编译后生成所有的class文件放在根目录下的target\classes目录下,即如

除此之外,maven还有很多其他常用的命令方式,比如:

  • mvn test-compile //编译测试代码 ,比如编译test下的源文件,编译后生成的所有的class文件放在根目录下的target\test-classes目录下
  • *mvn test //运行应用程序中的单元测试,比如对以上的项目,测试生成的结果放在根目录下的target\surefire-reports目录下,

  • mvn clean 清除目标目录中的生成结果 delete target,即会清除生成的target目录
  • mvn package 依据项目生成 jar或者war/sar文件,比如对以上的项目,生成的包文件会放在根目录下的target\目录下的core-1.0.jar文件,这里要注意的是运 行了mvn package命令以后,对于这之前的操作(包括mvn compile,mvn test-compile,mvn test)命令,都会自动运行
  • mvn install 在本地 Repository 中安装 jar或者war,即将生成的jar或者war放在本地的Repository中,这里要说明的是,maven中默认的Repository是在 C:\Documents and Settings\(当前系统用户的名称)\.m2\repository目录下,我们也可以人为的将它存放在指定的目录下,步骤是打开maven的安装 目录,打开conf\下的settings.xml文件,修改其中的<localRepository>,比如将其修改为 中间就是所要指定的目录,如对以上的项目,执行了mvn install项目后,不仅在根目录下生成target\目录,同时还会将生成的jar文件存放到Repository中,即E:/app/m2 /repository中
  • mvn site   生成项目相关信息的网站
  • mvn eclipse:eclipse   生成Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。执行完了后,就可以将源码项目导入elipse。
  • mvn eclipse:clean    清除Eclipse 项目文件及包引用定义文件。

      如果想要跳过测试,则加上-Dmaven.test.skip=true参数,如:mvn install -Dmaven.test.skip=true。


3、mvn的运行简单机制

通过pom.xml来进行构建。 比如Pom.Xml以上项目中的pom.xml文件

  • <modelVersion> --描述这个POM文件遵从哪个版本的项目描述符;
  • <groupId> -- 针对一个项目的普贤遍唯一识别符。通常用一个完全正确的包的名字来与其他项目的类似名字来进行区分;比如以上的项目,生成的(java)源文件会放在根目 录下的\target\classes\com\sunvalley\demo中,\com\sunvalley\demo便是这 里<groupId>所唯一标识的;
  • <artifactId> -- 项目的通用名称
  • <packaging>   -- 打包扩展名(JAR、WAR、EAR),举个例子jar,war,pom Plugings能够创建他们自己的包,包括包的类型;比如以上的项目生成的core-1.0.jar文件
  • <name> -- 当前项目的全称;
  • <version>   --当前项目产生的artifact的当前版本;
  • <description> -- 当前项目的一个细节描述;

  除此之外还有一些其它的元素,如<dependencies>

   <dependencies> 这个元素描述了所有与当前项目相关的依赖。

 

比如以上项目中的

这是在以上项目中进行unit test所要用到的一个工具junit。groupId是该组件的标识符,artifactId表示该组件的通用名称,version表示该组件的版本,scope:用于限制相应的依赖范围,还有其他的几种范围如

compaile :默认范围,用于编译

runtime:在执行时,需要使用

test:用于test任务时使用

 此外在<dependencies>中可以配置多个<dependency>,即多个组件的配置

 

<dependencies>
     <dependency>        可以配置多个相关的依赖
          <groupId>activation</groupId>  所依赖组件的标识符
          <version>1.0.1</version>  所依赖组件的版本
            <properties>    所依赖组件的属性
                <war.bundle.jar>true</war.bundle.jar>
            </properties>
       </dependency>
</dependencies>
 

4、Maven-proxy的使用

4.1 maven-proxy的作用

maven-proxy是你访问maven仓库(repository)的代理,它可以连接多个maven仓库,但对你来说,你只需要知道maven-proxy就够了。

更重要的是,maven-proxy可以看作是maven仓库在你本地的缓存,这在团队开发的时候会节省下载jar包的时间。比如,你的团队有10个人,默认的情况下maven repository的服务器为http://repo2.maven.org/maven2 ,这个http://repo2.maven.org/maven2 可能访问很慢。开发中,10个人都需要分别连接http://repo2.maven.org/maven2 下载。现在你本地假设了一个maven-proxy B。所有的人都直接连接B。这样,只有第一个人在下载时,B会从http://repo2.maven.org/maven2 下载jar包,同时缓存,其他9个人只需要从B下载就够了。那么如何让B来访问http://repo2.maven.org/maven2

4.2 配置代理

     打开安装maven的目录下的conf目录下的settings.xml文件

     配置其中的<profiles>…</profiles>和<activeProfiles>…< /activeProfiles>元素,如将它们配置为如下:其中的<url>就是服务器所在的url,注<profile>里的<id>与<activeProfiles>中的<activeProfile>对应。

保存后,将配置好的settings.xml文件拷贝到本地的repository仓库的同级目录下,比如说放在E:\app\m2

     此时,重新启动该服务器,之后对以上的项目(从SVN下载下来的项目)进行打包,即如该项目放在E:\workspace\java\materias \poc\maven\core目录下,重新打开一个命令窗口,用cd命令转到该目录下,执行mvn compile即编译该项目的命令,此时会出现像如下的结果:

这说明已经成功的在服务器上download了文件oscache-2.4.jar,到这里就已经代理成功了,如要访问其它的服务器,只需在配置settings.xml文件的时候,服务器的全称改为此服务器的全称即可,如:

<url>的中间便是所要访问服务器的全称。

注:有关于服务器的设置请参看有关的附录。


5、解决Maven内存溢出的问题

    找到文件%MAVEN_HOME%\bin\mvn.bat,这就是启动Maven的脚本文件,找到该文件中以下代码所在的行:

写道
@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE...

 它的意思是你可以设置一些Maven参数,我们就在该行下面加入以下行:

 

set MAVEN_OPTS= -Xms256m -Xmx512m
 

    上述设置表示Java堆得大小范围为256M-512M,经过上述设置之后,当再运行Maven命令如 mvn -version 的时候,你会看到如下的输出:

 

c:\>mvn -versionc:\>set MAVEN_OPTS= -Xms128m -Xmx512m.......
 

6、忽略失败

     当你运行一个Maven构建的时候,它会包含一系列的项目,每个项目可以成功或者失败。你可以三种可选的失败模式:

mvn -ff

最快失败模式:Maven会在遇到第一个失败的时候失败(停止)。

mvn -fae

最后失败模式:Maven会在构建最后失败(停止)。如果Maven refactor中一个失败了,Maven会继续构建其它项目,并在构建最后报告失败。

mvn -fn

从不失败模式:Maven从来不会为一个失败停止,也不会报告失败。

分享到:
评论

相关推荐

    maven学校配置maven配置maven配置

    maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置maven配置...

    maven配置阿里云镜像仓库

    maven配置阿里云镜像仓库,maven配置阿里云镜像仓库,maven配置阿里云镜像仓库。

    maven配置文件配置国内阿里云镜像

    maven配置文件配置国内阿里云镜像

    李兴华maven配置与使用

    Maven默认使用中央仓库,但也可以配置使用阿里云、公司内部仓库等。通过`settings.xml`中的`mirror`元素,可以设置优先访问的镜像。 9. **Maven的 profiles** profiles允许在不同的环境(如开发、测试、生产)下...

    maven配置操作文档

    **Maven配置操作文档** Apache Maven是一个强大的Java项目管理工具,它主要负责项目的构建、依赖管理和项目信息管理。Maven通过使用一个项目对象模型(Project Object Model,POM)来描述项目,并通过插件来执行...

    Maven的配置及使用

    ### Maven的配置及使用 #### 一、Maven简介 Maven是一款自动化构建工具,它主要应用于Java项目中。Maven通过一系列规范化的构建过程,简化了项目的构建流程,提高了开发效率。Maven的核心功能包括依赖管理、生命...

    maven的基本使用和配置

    ### Maven 的基本使用和配置 #### Maven 介绍 Maven 是 Apache 软件基金会支持的一个项目管理工具,主要用于 Java 项目的构建与依赖管理。它通过一个项目对象模型(POM)来管理项目的构建、报告和文档。Maven 的...

    maven 配置多仓库

    **正文** 在软件开发中,Maven作为Java项目管理和构建工具,其...通过正确配置`pom.xml`和`settings.xml`,以及使用Nexus这样的仓库管理工具,我们可以更好地管理Maven的依赖关系,为团队开发提供高效、可靠的环境。

    Maven的安装、配置及使用入门

    在本章节中,我们将学习如何安装、配置和使用Maven。Maven是一个基于项目对象模型(Project Object Model,POM)的软件项目管理和构建自动化工具。它可以帮助开发者管理项目的构建、报告和文档。 1.1 在 Windows 上...

    maven 配置与使用

    包含了&lt;&lt;maven权威指南&gt;&gt;,maven官方api使用等,自己的maven笔记等详细的maven使用教程,同时还包含了maven客户端搭建,服务器配置于搭建的详细资料,是以整套的maven学习资料.

    maven3.3.9个和maven配置步骤

    ** Maven 3.3.9 安装与配置详解 ** Maven 是一个强大的Java项目管理工具,它能够帮助开发者管理项目的构建、依赖关系、版本控制以及生成...了解并掌握 Maven 的配置和使用方法,是每个 Java 开发者必备的技能之一。

    SpringBoot项目使用maven配置文件

    SpringBoot项目使用maven配置文件是Java后端开发中的常见实践,它可以帮助开发者高效地管理依赖、构建项目以及执行自动化任务。Maven是Apache软件基金会的一个项目,它提供了一个项目对象模型(Project Object Model...

    maven配置.zip

    标题"Maven配置"涉及到的核心内容包括Maven的安装与环境配置、POM.xml文件的理解与编写、本地仓库的设置以及Maven的全局配置等。 1. Maven的安装与环境配置: Maven的安装通常涉及下载最新版本的Maven,解压到指定...

    maven 配置注意事项

    总结来说,配置Maven涉及安装Maven、修改`settings.xml`文件、配置JDK、调整`pom.xml`以指定编译和插件设置,以及在Tomcat服务器上设置合适的权限。这些步骤都是为了确保Maven能够高效、正确地工作,帮助开发者构建...

    Maven配置以及实验

    ** Maven配置及实验详解 ** Maven是一款强大的Java项目管理工具,它可以帮助开发者构建、管理和部署项目。在本文中,我们将详细介绍如何配置Maven,并通过一个简单的“Hello World”项目来实践这一过程。 ### ...

    JDK和maven的环境变量配置

    配置完成后,可以通过命令行输入java –version命令来测试JDK配置是否成功,输入mvn –version命令来测试Maven配置是否成功,输入startup.bat命令来测试Tomcat配置是否成功。 此外,需要注意的是,在配置环境变量时...

    maven 安装配置手册

    展示了如何创建和管理包含多个子项目的Maven项目,以及如何利用Maven的继承特性来共享配置和依赖。 **3.4 Web应用** 介绍了如何使用Maven来构建Web应用,包括Servlet的编写、J2EE依赖的添加、Web应用的打包和部署等...

    maven配置安装、maven项目搭建

    ### Maven配置安装与项目搭建详解 #### Maven简介 Maven是一款强大的自动化构建工具,主要用于Java项目的构建、依赖管理和项目信息管理。它通过一系列标准的过程来管理项目的生命周期,从而简化了项目的构建过程。...

    maven 配置环境变量

    maven 配置环境变量,需要从官网下载本地程序包,设置电脑的环境变量,开发java project 项目使用maven 仓库,本地maven仓库

Global site tag (gtag.js) - Google Analytics