`

四步让 maven为您工作起来

阅读更多
maven 让您的构建不是一般的爽,下面就看看怎么样让maven工作起来。

第一步,做好安装maven前的准备工作,首先安装JDK5或者jdk6.这一步比较简单,学java的同学应该都会,不罗嗦了,检验JDK是否安装好,可以输入如下命令后回车(windows系统)



第二步,下载maven并进行安装,maven下载地址http://maven.apache.org/download.html ,本文下载的是apache-maven-2.2.0-bin.zip 。下载后解压至当前目录,我的解压地址D:\apache-maven-2.2.0-bin。

设置两个比较重要的环境变量。

view plaincopy to clipboardprint?
M2_HOME= D:\apache-maven-2.2.0-bin\apache-maven-2.2.0  
 
PATH=%PATH%;%M2_HOME%\bin 
M2_HOME= D:\apache-maven-2.2.0-bin\apache-maven-2.2.0

PATH=%PATH%;%M2_HOME%\bin
 

验证你的安装是否正确,则在cmd 下输入 mvn –v .如果出现Maven的版本信息,则表示安装成功,否则,仔细检查你的环境变量设置是否正确。



安装后maven的目录结构如下:



bin目录包含了运行Maven的mvn脚本。 boot目录包含了一个负责创建Maven运行所需要的类装载器的JAR文件。 conf目录包含了一个全局的settings.xml文件,该文件用来自定义你机器上Maven的一些行为。如果需要自定义Maven,更通常的做法是覆写 %home%/.m2目录下的settings.xml文件,每个用户都有对应的这个目录。lib目录有了一个包含Maven核心的JAR文件。 另外,默认情况下,maven会将本地仓库存贮在%home%/.m2/repository/下,当你从远程Maven仓库下载依赖的时候,Maven在你本地仓库存储了这个依赖的一个副本,如果你要改变这个位置,那么你得修改settings.xml文件。例如将路径修改到D盘 ,则修改节点 <localRepository>d:/repository</localRepository>,设置后别忘了设置环境变量 M2_REPO= d:/repository .



第三步、创建一个简单web 项目玩玩。

     Cmd 下,键入命令

view plaincopy to clipboardprint?
mvn archetype:create -DgroupId=com.taobao.maven -DartifactId=maven-webapp -DpackageName=com.taobao.maven.web -DarchetypeArtifactId=maven-archetype-webapp 
mvn archetype:create -DgroupId=com.taobao.maven -DartifactId=maven-webapp -DpackageName=com.taobao.maven.web -DarchetypeArtifactId=maven-archetype-webapp

执行命令后显示信息如下:



view plaincopy to clipboardprint?
[INFO] Scanning for projects...  
 
[INFO] Searching repository for plugin with prefix: 'archetype'.  
 
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central  
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.po  
 
   
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom  
 
   
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.ja  
 
   
 
[INFO] ------------------------------------------------------------------------  
 
[INFO] Building Maven Default Project  
 
[INFO]    task-segment: [archetype:create] (aggregator-style)  
 
[INFO] ------------------------------------------------------------------------  
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom  
 
   
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-6/wagon-file-1.0-alpha-6.pom  
 
   
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-alpha-6/wagon-providers-1.0-alpha-6.pom  
 
   
 
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.pom  
 
   
 
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom  
 
   
 
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom  
 
   
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.pom  
 
   
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.jar  
 
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar  
 
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar  
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.jar  
 
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar  
 
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.  
 
[INFO] Setting property: velocimacro.messages.on => 'false'.  
 
[INFO] Setting property: resource.loader => 'classpath'.  
 
[INFO] Setting property: resource.manager.logwhenfound => 'false'.  
 
[INFO] [archetype:create {execution: default-cli}]  
 
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead  
 
[INFO] artifact org.apache.maven.archetypes:maven-archetype-webapp: checking for updates from central  
 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar  
 
   
 
[INFO] ----------------------------------------------------------------------------  
 
[INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:RELEASE  
 
[INFO] ----------------------------------------------------------------------------  
 
[INFO] Parameter: groupId, Value: com.taobao.maven  
 
[INFO] Parameter: packageName, Value: com.taobao.maven.web  
 
[INFO] Parameter: basedir, Value: D:\workspace\branch  
 
[INFO] Parameter: package, Value: com.taobao.maven.web  
 
[INFO] Parameter: version, Value: 1.0-SNAPSHOT  
 
[INFO] Parameter: artifactId, Value: maven-webapp  
 
[INFO] ********************* End of debug info from resources from generated POM ***********************  
 
[INFO] OldArchetype created in dir: D:\workspace\branch\maven-webapp  
 
[INFO] ------------------------------------------------------------------------  
 
[INFO] BUILD SUCCESSFUL  
 
[INFO] ------------------------------------------------------------------------  
 
[INFO] Total time: 26 seconds  
 
[INFO] Finished at: Wed Dec 09 16:47:11 CST 2009  
 
[INFO] Final Memory: 8M/15M  
 
[INFO] ------------------------------------------------------------------------ 
[INFO] Scanning for projects...

[INFO] Searching repository for plugin with prefix: 'archetype'.

[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central

Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.po



Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom



Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.ja



[INFO] ------------------------------------------------------------------------

[INFO] Building Maven Default Project

[INFO]    task-segment: [archetype:create] (aggregator-style)

[INFO] ------------------------------------------------------------------------

Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom



Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-6/wagon-file-1.0-alpha-6.pom



Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-alpha-6/wagon-providers-1.0-alpha-6.pom



Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.pom



Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom



Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom



Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.pom



Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.jar

Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar

Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar

Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.jar

Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar

[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.

[INFO] Setting property: velocimacro.messages.on => 'false'.

[INFO] Setting property: resource.loader => 'classpath'.

[INFO] Setting property: resource.manager.logwhenfound => 'false'.

[INFO] [archetype:create {execution: default-cli}]

[WARNING] This goal is deprecated. Please use mvn archetype:generate instead

[INFO] artifact org.apache.maven.archetypes:maven-archetype-webapp: checking for updates from central

Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar



[INFO] ----------------------------------------------------------------------------

[INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:RELEASE

[INFO] ----------------------------------------------------------------------------

[INFO] Parameter: groupId, Value: com.taobao.maven

[INFO] Parameter: packageName, Value: com.taobao.maven.web

[INFO] Parameter: basedir, Value: D:\workspace\branch

[INFO] Parameter: package, Value: com.taobao.maven.web

[INFO] Parameter: version, Value: 1.0-SNAPSHOT

[INFO] Parameter: artifactId, Value: maven-webapp

[INFO] ********************* End of debug info from resources from generated POM ***********************

[INFO] OldArchetype created in dir: D:\workspace\branch\maven-webapp

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESSFUL

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 26 seconds

[INFO] Finished at: Wed Dec 09 16:47:11 CST 2009

[INFO] Final Memory: 8M/15M

[INFO] ------------------------------------------------------------------------

此时已经创建了一个web项目,你可以切换到maven-webapp目录看到目录结构。



可以看一下这个pom.xml的内容。
view plaincopy to clipboardprint?
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
 
  <modelVersion>4.0.0</modelVersion> 
 
  <groupId>com.taobao.maven</groupId> 
 
  <artifactId>maven-webapp</artifactId> 
 
  <packaging>war</packaging> 
 
  <version>1.0-SNAPSHOT</version> 
 
  <name>maven-webapp Maven Webapp</name> 
 
  <url>http://maven.apache.org</url> 
 
  <dependencies> 
 
    <dependency> 
 
      <groupId>junit</groupId> 
 
      <artifactId>junit</artifactId> 
 
      <version>3.8.1</version> 
 
      <scope>test</scope> 
 
    </dependency> 
 
  </dependencies> 
 
  <build> 
 
    <finalName>maven-webapp</finalName> 
 
  </build> 
 
</project> 
 
  
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.taobao.maven</groupId>

  <artifactId>maven-webapp</artifactId>

  <packaging>war</packaging>

  <version>1.0-SNAPSHOT</version>

  <name>maven-webapp Maven Webapp</name>

  <url>http://maven.apache.org</url>

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.1</version>

      <scope>test</scope>

    </dependency>

  </dependencies>

  <build>

    <finalName>maven-webapp</finalName>

  </build>

</project>







packaging: 这里值为war,表示希望将该项目以war包形式打包,打包后将会在 target目录创建一个 WAR 文件,并以finalName为文件名创建名为maven-wepapp.war的包。



Dependency:表示这里依赖了一个junit的jar文件,只在测试阶段时才使用到。打包时并不会打到war包中去。



第四步、这个简单的web包中已经有了一个helloworld 的index.jsp文件,我们要做的就是将这个项目打包成war,然后放到web容器中去就可以看到效果了。



打包命令 mvn install, 如下:





Target目录下已经存在了maven-webapp.war包,部署到Tomcat等容器下后。

访问:

Http://localhost:8080/maven-webapp/index.jsp

即可出现hello world 字样。



另外,maven提供了一个jetty的web容器插件,让我们可以不用自己去下载tomcat等容器,

但是需要在pom.xml配置jetty插件。

    view plaincopy to clipboardprint?<build>      <finalName>maven-webapp</finalName>      <plugins>        <plugin>          <groupId>org.mortbay.jetty</groupId>          <artifactId>maven-jetty-plugin</artifactId>        </plugin>      </plugins>    </build>  <build>
    <finalName>maven-webapp</finalName>
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
配置好后,可以启动jetty服务器。mvn jetty:run 最后出现view plaincopy to clipboardprint?2009-12-09 17:35:37.065:INFO::jetty-6.1.22   2009-12-09 17:35:37.487:INFO::No Transaction manager found - if your webapp requires one, please configure one.   2009-12-09 17:35:40.049:INFO::Started SelectChannelConnector@0.0.0.0:8080   [INFO] Started Jetty Server  2009-12-09 17:35:37.065:INFO::jetty-6.1.22
2009-12-09 17:35:37.487:INFO::No Transaction manager found - if your webapp requires one, please configure one.
2009-12-09 17:35:40.049:INFO::Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server

表示启动成功,访问url即可。 如果jetty无法启动,在settings.xml中,配置一下
view plaincopy to clipboardprint?<pluginGroups>      <!-- pluginGroup        | Specifies a further group identifier to use for plugin lookup.       <pluginGroup>com.your.plugins</pluginGroup>      -->      <pluginGroup>org.mortbay.jetty</pluginGroup>    </pluginGroups>  <pluginGroups>
    <!-- pluginGroup
     | Specifies a further group identifier to use for plugin lookup.
    <pluginGroup>com.your.plugins</pluginGroup>
    -->
    <pluginGroup>org.mortbay.jetty</pluginGroup>
  </pluginGroups>
  即可解决问题。  小提示: 如果想在eclipse中使用工程,则在命令行中运行 Mvn eclipse:eclipse  即可生成eclipse工程所需的.project等文件。 Mvn eclipse:clean  则是将eclipse配置信息清除  如果要在eclipse中查看外部引入包的源代码等,则在命令行中键入mvn dependency:sources  即可下载源代码,如果没有下载,请先执行命令 mvn clean ,后再下载









本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lovingprince/archive/2009/12/09/4973247.aspx
  • 大小: 14.9 KB
  • 大小: 14.9 KB
  • 大小: 14.5 KB
  • 大小: 52 KB
分享到:
评论

相关推荐

    maven资源 apache-maven-3.3.9-bin.zip

    在Maven中,项目的构建过程被定义为一系列的阶段,如编译、测试、打包、集成测试、部署等,这些阶段构成了Maven的生命周期。每个阶段都可以通过特定的插件来执行,例如,`maven-compiler-plugin`用于编译源代码,`...

    apache-maven-3.5.2安装包

    Maven 3.5.2是Maven的一个稳定版本,包含了多项改进和修复,为开发者提供更高效、更稳定的开发环境。 在Java开发中,Maven扮演着至关重要的角色。它通过读取项目中的pom.xml文件,该文件定义了项目的配置信息,如...

    maven3.1、maven3.2安装包、源码及eclipse整合插件

    总结起来,Maven 3.1和3.2的安装包和源码为开发者提供了构建和管理Java项目的工具,而Eclipse的Maven插件则让开发工作更加便捷高效。通过理解Maven的工作原理和熟练使用插件,你可以更有效地进行Java开发。

    apache-maven-2.2.1.rar maven myeclipse插件

    `apache-maven-2.2.1.rar` 包含的是Maven 2.2.1版本的安装资源,这个版本发布于2009年,虽然相对较旧,但对于学习Maven的基本概念和工作原理仍然很有帮助。 MyEclipse 是一个集成开发环境(Integrated Development ...

    apache-maven-3.3.9.rar

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java应用程序的开发。它通过定义项目的结构和依赖关系,自动化构建过程,使得开发者能够更高效地管理工作。在本文中,我们将深入探讨Maven的核心概念、功能...

    maven eclipse 离线插件

    7. 在打开的窗口中,确保工作区已经设置为你添加的本地站点,然后在搜索框中输入"Maven",你应该能看到Maven插件的条目。 8. 选择你需要的Maven插件版本,然后按照提示进行安装。安装过程中可能需要你确认安全警告和...

    apache-maven压缩包

    在Java开发领域,Maven 减轻了构建过程中的繁琐工作,通过约定优于配置的原则,使得项目的构建、测试和部署更加标准化。 "apache-maven-3.5.3" 是Maven的一个具体版本,3.5.3是该版本的编号。每个Maven版本都可能...

    Maven和Eclipse集成

    4. **多模块支持**:Maven支持多模块项目,使得大型项目可以被分解为多个可独立管理的模块。 #### 三、Eclipse简介 Eclipse是一个开源的、可扩展的集成开发环境(IDE),主要用于Java应用程序的开发。它提供了一个...

    apache-maven-3.3.9

    `apache-maven-3.3.9`是Maven的一个特定版本,这里我们详细探讨一下Maven的功能、安装过程以及它如何帮助开发者进行项目管理工作。 Maven 的核心理念是通过约定优于配置的方式来简化项目的构建流程。它使用一个标准...

    maven思维导向图

    这个“maven思维导向图”很可能是一个详细展示Maven工作原理和最佳实践的图形化表示,旨在帮助开发者更好地理解和应用Maven。 在Java开发中,Maven 提供了以下关键功能: 1. **依赖管理**:Maven 可以自动下载项目...

    maven入门到精通

    #### 四、Maven的工作原理 - **生命周期**:Maven项目构建的核心是由三个主要的构建阶段组成的一系列步骤,即清理(clean)、默认(default)、站点(site)。每个阶段包含一系列的构建目标。 - **插件**:Maven...

    使用Maven搭建SpringMVC

    在IT行业中,构建Web应用程序是一项常见的任务,而SpringMVC框架和Maven工具的结合使用则为开发者提供了高效且强大的解决方案。本系统采用Maven作为项目管理工具,SpringMVC作为 MVC(Model-View-Controller)设计...

    Maven ssh整合框架

    总结起来,"Maven ssh整合框架"是一个强大的Java Web开发工具集,它结合了Maven的项目管理能力与SSH的业务处理能力,为开发者提供了一种高效、规范的开发方式。通过熟练掌握这些技术,开发者可以在项目中实现快速...

    presto-maven-plugin 0.3

    总结起来,Presto Maven Plugin 0.3是一个针对Presto项目优化的编译工具,尤其解决了Windows下的编译难题,使得开发者可以更加专注于Presto的功能开发和性能优化,而不被底层的编译问题所困扰。这款插件的开源性质和...

    ssm整合加maven

    在这个"ssm+maven"的案例中,我们将深入探讨如何将这三个框架与Maven构建工具结合起来,实现高效、规范的项目开发。 首先,Spring框架是核心的依赖注入(DI)和面向切面编程(AOP)容器。在SSM整合中,Spring负责...

    我的maven本地仓库1

    总结起来,"我的maven本地仓库1"是一个个人维护的Maven依赖仓库,它包含了一位开发者在长期开发过程中积累的jar包和相关配置,旨在提高开发效率,确保项目依赖的一致性,并提供离线开发的可能性。对于熟悉Maven的...

    maven 开发工具

    它是Maven工作的核心,使得项目可以在不同的环境中得到一致的构建结果。 2. **依赖管理** Maven通过POM文件管理项目的依赖关系。当项目需要某个库时,只需在POM中声明,Maven会自动下载并管理这些依赖,避免了手动...

    MAVEN-3.5.4,需要jdk7及以上版本

    总结起来,Maven 3.5.4是一个强大且灵活的工具,它的依赖管理、构建流程以及插件系统极大地简化了Java开发工作。确保正确安装JDK 7或更高版本后,你可以充分利用Maven 3.5.4的功能来提高项目管理的效率和质量。

    google-maven-exploder,.zip

    "google-maven-exploder"便是一个为解决这一问题而诞生的开源项目,它旨在简化大型Maven项目的工作流程。 谷歌的"Maven Exploder"主要功能是将大型Maven项目的模块结构分解,使每个模块都能独立构建和测试。这个...

Global site tag (gtag.js) - Google Analytics