`
landmine
  • 浏览: 95198 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

揭开maven2.0面纱

阅读更多

maven2安装配置介绍

Maven2.0的优点
  Maven2.0有许多很好功能,这些功能不仅仅是帮助您构建项目。如果您刚刚开始启动一个Java项目,并且想使该项目快速地开展下去,Maven2.0能够在几分钟内达到您的要求。以下是Maven2.0的一些优点:
  --标准的项目布局和项目结构生成器
  --标准的依赖管理机制
  --多项目支持
  --在开发者需要的时候及时地下载新的插件和功能部件
  --生成最新项目信息的网站
  --集成了源代码控制软件:CVS和Subversion

继续之前你必须安装好java(即本机要安装好jre )。

首先,下载 Maven并把它解压到你要安装的目录,例如:windows 下的C:\\maven 之后,把系统变量 M2_HOME 和变量值 maven安装目录/bin设置到你的系统的环境变量中。然后在系统控制台(windows cmd)或终端(linux)下敲入 mvn –version,如果你安装成功,控制台将打印出你安装的maven的版本号,如:
C:\\Documents and Settings\\Administrator>mvn -version
Maven version: 2.0.6
C:\\Documents and Settings\\Administrator>  

2. 网络设置

maven运行时需要网络环境。如果你的网络需要代理,则要在maven目录的conf/settings.xml中设置。

找到节点,按照例子,根据自己实际环境设置。

创建项目
在命令行中执行以下(Maven 把它叫作goal)命令:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
如果你是首次运行该(goal)命令,maven将要花一些时间去把最新的工具包(Maven 把它叫作artifacts)下载到你的本地仓库。你也许要执行很多次上面的命令才能成功,因为远程服务器有时可能连接不上或者超时(这种情况很少见,除非是你本地网络没有配置好)。
命令执行完后你将看到maven生成了一个名为my-app的目录,这个名字就是你在命令中指定的artifactId,进入该目录,

项目目录具体如下!


D:\\MY-APP
│ pom.xml

└─src
    ├─main
    │ └─java
    │      └─com
    │          └─mycompany
    │              └─app
    │                      App.java
    │
    └─test
        └─java
            └─com
                └─mycompany
                    └─app
                            AppTest.java
其中,src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml是项目的项目对象模型(Project Object Model or POM)。

常用命令

Maven2 的运行命令为 : mvn ,

常用命令为 :

mvn archetype:create :创建 Maven 项目

mvn compile :编译源代码

mvn test-compile :编译测试代码

mvn test : 运行应用程序中的单元测试

mvn site : 生成项目相关信息的网站

mvn clean :清除目标目录中的生成结果

mvn package : 依据项目生成 jar 文件

mvn install :在本地 Repository 中安装 jar

mvn eclipse:eclipse :生成 Eclipse 项目文件

生成项目

建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App

建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp

生成 Eclipse 项目

普通 Eclipse 项目执行 : mvn eclipse:eclipse

Eclipse WTP 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0

( wtp1.0 以上版本均可用)

在 Eclipse 里面 file>import

然后选择 General>Existing Projects into Workspace(如果安装了maven插件这个地方选择maven project,然后下一步找到pom.xml文件)

设置 maven 的路径变量 M2_REPO

Window -> Preferences -> Java -> Build Path -> Classpath Variables

New Name 命名 : M2_REPO

路径 :本地的 maven 类库地址

这里为 C:/Documents and Settings/{ 你的系统登录用户名 }/.m2/repository(自定义设置的仓库:修改.setting.xml文件<localRepository>C:\Java\Tools\apache-maven-2.0.8\M2Repository</localRepository>   并让ide内的setting.xml文件设置指向你得这个文件)

注意事项:
1、Maven默认的remote repository是ibiblio.org,这个地方有些人上不去,因此要更改一下。
Maven找寻配置参数的默认的顺序是从maven.jar中的defaults.properties开始。打开该文件,修改:
maven.repo.remote =     http://apache.linuxforum.net/dist/java-repository, http://dist.codehaus.org, http://mirrors.sunsite.dk/maven/http://public.planetmirror.com/pub/maven, http://www.ibiblio.org/maven

可在以下两个网站查阅:http://mvnrepository.com/,http://repo1.maven.org/maven2/

2、Maven默认的本地文件保存在Document and Setting的user.home里面,非常不便。
在%MAVEN_HOME%下建立一个local目录,将本地的repostiory保存在此,以免重装系统丢失。
maven.home.local = ${maven.home}/local
3、Maven的提示语言在中文环境中可能出现乱码,进入maven.jar,
发现org\apache\maven\messages目录下的messages_zh_CN.properties里面直接写了中文字符。删掉它!就不会乱码了。
(或者用native2ascii转换)

4、Maven中最大的麻烦之处就是不能从Maven存储库中获取Sun的jar文件。这个问题归因于Sun在其代码中设置的许可证限制。解决这个问题的办法有两种,一种是下载这些代码并将它们安装在您本地的存储库中,另一种是做一个外部声明,并将这个声明指向文件系统中依赖项所在的位置。希望Sun能够尽早地创建自己的存储库,尽管如此,Maven也会被升级来使之能够下载这些资源,只是在下载之前它会提示用户接受许可证协议。

5、另外一个麻烦的地方就是有时候使用的最新的库文件可能在远程存储库中不存在。另一种可能是由于无法访问Internet,需要所有的依赖项都能在本地获取。这些问题的最好解决方案就是将jar文件安装到本地的存储库中。将本地的存储库放在一台web服务器上也同样是个便利之举,这样整个开发团队就能从此获益,每个人都没有必要去管理自己的存储库了。改变Maven的存储库路径只需简单地编辑其安装目录下conf文件夹下面的settings.xml文件即可。

IDE下的问题

1. 当 M2eclipse 插件装上之后,会报这个错

Eclipse is running in a JRE, but a JDK is required

Some Maven plugins may not work when importing projects or updating source folders.

解决办法 :查看 eclipse\readme\readme_eclipse.html 里面有详细说明,在 Selecting a workspace 这一节

创建一个快捷方式,设定目标位置为 D:\eclipse_jee\eclipse.exe -vm D:\Java\jdk1.5.0_10\bin\javaw

因为默认 vm 为 jdk\jre\bin\javaw ,直接改到 jdk 下,错误即可消除

2. 使用命令 mvn eclipse:eclipse –Dwtpversion=1.0 之后,导入的项目 Project Facet 的 java 还是 1.4 ,而我 Eclipse 上设置的是 5.0

解决办法 :在 pom.xml 中 plugins 加入说明就可以了

Xml代码

  1. <plugins>
  2. <plugin>
  3. <artifactId>maven-compiler-plugin</artifactId>
  4. <configuration>
  5. <source>1.5</source>
  6. <target>1.5</target>
  7. </configuration>
  8. </plugin>
  9. </plugins>
<plugins>         <plugin>            <artifactId>maven-compiler-plugin</artifactId>            <configuration>                <source>1.5</source>                <target>1.5</target>            </configuration>         </plugin> </plugins>

3.   在使用命令mvn eclipse:eclipse 之后,import到Eclipse,然后在Eclipse项目上点右键,选择插件Maven>Enable Dependency Management后,会报重复引用依赖的错误
解决办法 :再执行mvn eclipse:eclipse然后刷新Eclipse的项目,取消掉maven插件的引用依赖,错误就会消除

分享到:
评论

相关推荐

    maven2.0+eclipse插件

    ** Maven 2.0 和 Eclipse 插件:构建与管理Java项目的新篇章 ** Maven 2.0 是一个强大的项目管理和构建工具,它在Java开发领域中扮演着至关重要的角色。Maven 提供了一种标准化的方式来管理项目的构建、依赖和文档...

    项目管理软件Maven2.0

    **项目管理软件Maven2.0** Maven2.0是一款强大的Java项目管理工具,它由Apache Software Foundation开发,主要用于构建、管理和聚合Java项目。在Java开发领域,Maven简化了项目的构建过程,通过标准化的构建生命...

    maven 2.0

    Maven 2.0 是一个强大的项目管理和构建工具,主要应用于Java开发领域。由Apache软件基金会开发,它极大地简化了项目的构建、依赖管理以及文档生成等过程。Maven 通过使用一种标准化的项目对象模型(Project Object ...

    maven 2.0 权威指南

    《Maven 2.0 权威指南》是一本针对Java开发者的重要参考资料,它详细介绍了Maven这一构建工具的使用方法和核心概念。Maven是一个自动化项目管理工具,主要用于Java项目构建、依赖管理和项目信息管理。它通过一个中央...

    Maven2.0的使用案例

    ### Maven2.0的使用案例 #### 概述 在软件开发过程中,自动化构建工具扮演着重要的角色。Apache Maven作为一款流行的Java项目管理工具,它不仅简化了项目的构建过程,还支持项目的依赖管理和项目信息的汇总。本文...

    Better Builds With Maven

    《使用Maven构建更优项目》:Maven2.0实战指南 本书《使用Maven构建更优项目》由John Casey、Vincent Massol、Brett Porter、Carlos Sanchez和Jason van Zyl共同编著,是关于Maven 2.0的一本深度实战指南。Maven...

    Better Builds With Maven.pdf

    ### Maven 2.0:构建更优秀的项目 #### 一、引言 《Better Builds With Maven》是一本针对Maven 2.0的实用指南,由Maven核心团队成员John Casey、Vincent Massol、Brett Porter、Carlos Sanchez以及Jason Van Zyl...

    maven2.0.9在myeclipse6.5下的配置及资源下载

    6. **运行Maven任务**:现在你可以通过刚刚配置的外部工具来运行Maven命令,或者在MyEclipse的右键菜单中选择`Run As` -&gt; `Maven Build`,然后输入你要执行的命令。 注意,由于Maven 2.0.9版本相对较旧,可能不支持...

    maven2.0.8

    Maven 2.0.8是Maven的一个早期版本,发布于2008年,尽管现在已经有了更新的版本,如Maven 3.x,但了解旧版本对于维护旧项目或者理解Maven的发展历程仍然是有价值的。 **Maven的核心概念** 1. **项目对象模型...

    apache-maven-2.0.8.rar

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java应用程序的开发。在Java开发领域,Maven以其自动化构建、依赖管理和项目信息管理的能力而备受推崇。它通过一个统一的配置方式简化了项目的构建过程,并且...

    BetterBuildsWithMaven

    ### Maven 2.0:构建更优质的项目结构 #### 一、Maven 2.0 简介 Maven 是一个项目管理和理解工具,它主要用于 Java 项目的构建与管理。Maven 2.0 是 Maven 的一个重要版本,相较于之前的版本,它提供了更加稳定和...

    揭开Maven部署的神秘面纱:深入解析deploy命令

    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...

    maven+pluto2.0搭建portlet环境

    ### Maven + Pluto 2.0 搭建 Portlet 环境 #### 环境准备 在开始搭建 Portlet 2.0 模拟环境之前,我们需要确保以下环境已经准备好: 1. **Sun JDK 1.5 以上版本**(推荐使用 1.7 或更高版本)。 2. **Apache ...

    maven-model-2.0-alpha-1.jar

    Maven POM模型(项目对象模型) org.apache.maven/maven-model/2.0-alpha-1/maven-model-2.0-alpha-1.jar

    reflections-maven-2.0.Beta2.zip

    在`findbugs-jmock`的压缩包`reflections-maven-2.0.Beta2.zip`中,包含了`findbugs-jmock-master`这一子目录,这通常是源代码仓库的主分支,包含了项目的源代码、构建脚本和其他相关资源。开发者可以克隆或下载这个...

Global site tag (gtag.js) - Google Analytics