`
小网客
  • 浏览: 1241302 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Maven官方用户入门指南”翻译之八(完)

 
阅读更多

如何创建api帮助手册?

现在我们就开始生成maven工程的系统文档,你可以利用maven的项目创建向导执行如下命令为你已存在工程生成系统文档:

 

mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DarchetypeArtifactId=maven-archetype-site \
  -DgroupId=com.mycompany.app \
  -DartifactId=my-app-site

你可以详细阅读构建站点指南去学习如何为你的工程构建站点。

 

如何构建其他类型的工程?

构建周期可以提供任意类型的工程,如我们可以构建一个简单的web工程:

 

mvn archetype:generate \
    -DarchetypeGroupId=org.apache.maven.archetypes \
    -DarchetypeArtifactId=maven-archetype-webapp \
    -DgroupId=com.mycompany.app \
    -DartifactId=my-webapp

需要注意的是上面执行命令必须在一行中写成。上述命令会生产一个 my-webapp目录,他包括如下项目描述:

 

 

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.mycompany.app</groupId>
  <artifactId>my-webapp</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>my-webapp</finalName>
  </build>
</project>

需要注意packaging元素,他指定打包成war,进入webapp目录执行:

 

 

mvn clean package

你可以看到生成了 target/my-webapp.war,上述为正常执行步骤。

 

如果一次性构建多个工程?

maven2.0中提出了构建多模块的概念。本章节我们会阐述如何在一步中同时构建war(上个项目)和jar(上上个项目),首先我们需要在两个工程上级目录添加一个父pom.xml文件,结构如下所示:

 

+- pom.xml
+- my-app
| +- pom.xml
| +- src
|   +- main
|     +- java
+- my-webapp
| +- pom.xml
| +- src
|   +- main
|     +- webapp

父pom包括的内容如下:

 

 

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.mycompany.app</groupId>
  <artifactId>app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <modules>
    <module>my-app</module>
    <module>my-webapp</module>
  </modules>
</project>

 在 my-webapp/pom.xml中添加对my-app的依赖:

 

 

 ...
  <dependencies>
    <dependency>
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-app</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    ...
  </dependencies>

最后我们在每个子pom中添加父pom的元素:

 

 

<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/xsd/maven-4.0.0.xsd">
  <parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>app</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  ...

在父pom所在的目录执行如下命令:

 

 

mvn clean install

那么war生成了,my-webapp/target/my-webapp.war,他的lib信息如下:

 

 

$ jar tvf my-webapp/target/my-webapp-1.0-SNAPSHOT.war
   0 Fri Jun 24 10:59:56 EST 2005 META-INF/
 222 Fri Jun 24 10:59:54 EST 2005 META-INF/MANIFEST.MF
   0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/
   0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/
   0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/
3239 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/pom.xml
   0 Fri Jun 24 10:59:56 EST 2005 WEB-INF/
 215 Fri Jun 24 10:59:56 EST 2005 WEB-INF/web.xml
 123 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/pom.properties
  52 Fri Jun 24 10:59:56 EST 2005 index.jsp
   0 Fri Jun 24 10:59:56 EST 2005 WEB-INF/lib/
2713 Fri Jun 24 10:59:56 EST 2005 WEB-INF/lib/my-app-1.0-SNAPSHOT.jar

那么他们是如何工作的呢?

首先父pom会构建他包含的所有模块,他告诉maven去执行所有的罗列出来的模块,而不仅仅是这一个(你可以参考 --non-recursive 命令)。

 

接着我们告知war他需要jar,那么这个jar在class path下必须是可用的,那么jar必须在war之前构建因为我们在war的pom中已经显示指明了依赖。

你也注意到了 junit-3.8.1.jar也是war的一个依赖,但是他没有出现在lib中。原因是 <scope>test</scope>,他指明了他只在test中才会用到,因此他不会出现。

最后一步包含了对父pom的定义。这个跟maven1.0的extend 是有所不同的,这保证了pom可以基于父pom来寻找即使他们分布式部署。

与maven1.0不同,你只需要执行install就可以完成上述步骤,你可以执行package就可以基于目标目录而不是资源库生成。

你也可以生成你的IDEA工作环境:

mvn idea:idea

 

注意:

maven的技术翻译官方指南已经完成,下面会陆续开展其他的翻译,大家有什么感兴趣的也可以给我留言。

 

1
0
分享到:
评论
2 楼 zhuxinyu 2013-11-15  
继续加油。
1 楼 white_crucifix 2013-11-14  
幸苦了

相关推荐

    Docx4j入门指南

    Docx4j的入门指南主要针对新用户,提供了文档的最新版本,可以在GitHub的docs目录中找到。当前大部分的入门文档是英文版本,但用户也可以通过机器翻译或自行翻译为其他语言。有兴趣提供翻译版本的用户,可以通过联系...

    Jetspeed2官网guide文档翻译2

    【Jetspeed2官网guide文档翻译2】这篇文档主要面向初次接触Jetspeed的用户,提供了从源码构建和部署Jetspeed 2.2的详细步骤。Jetspeed是一个开源的portlet容器和企业信息门户平台,它允许集成多种应用和服务,提供...

    HBase_官方文档-中文翻译

    快速入门适合对 HBase 有一定了解的用户,而慢速开始则提供了更详尽的配置和运行环境设置指南。 **配置** 配置 HBase 包括几个关键文件:`hbase-site.xml` 用于自定义配置,`hbase-default.xml` 提供默认配置参数...

    radiusmanager3.9.0中文包

    - 文档:包括用户手册、快速入门指南和常见问题解答,帮助用户理解和操作软件。 - 配置文件:预设的配置模板,简化初始设置。 - 示例数据库:展示如何设置和管理用户、设备和服务。 - 语言包:包含中文翻译的界面...

    mybatis用户指南

    文档鼓励用户发现文档中的任何不足之处,并鼓励用户自己学习并撰写文档,源文件以xdoc格式提供,存放在项目的Git Fork仓库中。 对于MyBatis的安装,用户只需要将mybatis-x.x.x.jar文件包含在类路径中。如果使用...

    mybatis中文文档(黑白书籍版)

    特别是Maven用户,只需要将相应的dependency代码片段加入到pom.xml文件中,即可快速完成MyBatis的依赖引入。 关于XML配置,文档详细说明了如何从XML文件构建SqlSessionFactory实例。SqlSessionFactory是MyBatis中一...

    Spring Boot 2 中文 参考手册 中文文档

    对于初学者,可以尝试Spring官方提供的入门指南。此外,可以在stackoverflow网站上提问,或者在Spring Boot的GitHub仓库中报告bug。 3. 第一步 文档还提供了一个“第一步”的部分,旨在帮助用户开始使用Spring Boot...

    Spring Boot Reference Guide 中文文档

    Spring Boot Reference Guide中文文档是对Spring Boot官方文档的翻译,它为中文用户提供了学习和使用Spring Boot的指南。 文档中主要涵盖了以下知识点: 1. 文档结构:文档包含多个章节,从基础的入门指导到高级...

    Spring Framework Reference Documentation 4.25

    - **简介**:这部分内容为开发者提供了快速入门指南,帮助新用户理解如何开始使用Spring框架进行开发。 - **目标读者**:面向希望了解如何快速搭建Spring应用环境的初学者。 ##### 2. Spring框架介绍 - **依赖注入...

    junit单元测试文档

    文档提到了JUnit 5的用户指南,介绍了JUnit 5官方user guide文档的翻译,以及英文官方文档的来源。文档的当前版本是JUnit 5.0.24。为了满足不同用户的阅读习惯和网络环境,文档被托管在不同的服务器上,包括国内腾讯...

    mybatis-spring指南中文版

    ### Mybatis-Spring指南中文版知识点详述 #### 第一章 介绍 ##### 1.1 为什么整合MyBatis和Spring? MyBatis作为一款优秀的SQL映射框架,在与Spring框架结合使用时能带来诸多便利。每个Spring的用户都曾期待...

    Mybatis中文手册

    #### 三、入门指南 - **安装**: - **JAR包安装**:将`mybatis-x.x.x.jar`文件放置到项目的classpath下。 - **Maven安装**:在`pom.xml`文件中添加如下依赖: ```xml &lt;groupId&gt;org.mybatis &lt;artifactId&gt;...

Global site tag (gtag.js) - Google Analytics