Author Archive

《Maven官方指南》APT格式

原文链接    译者:carvendy

APT格式

APT是标准的纯文本。APT 标记语言,它力求简单的文档编写的解决方案。它的语法像纯文本多于像其他标记格式(例如HTML)。文档提供一些可用的APT格式例子。

重要笔记

在文档中信息包含对应的源APT格式像发布的Xmlmind。在版本1.1 Maven Doxia已经同意一些改变源码格式,看看文档中的细节描述。值得注意的以下是一个[改变]链接的显著区别。

随着选项包含着格式文本,演示APT用于创建段落、头部、选项、列表、代码样本、图像、表格、规则、打破和文本级别元素例如样式、锚和特殊字符。在盒子包含打字机字体是APT源码的例子。

Read more

《Maven官方指南》片段宏指南

原文链接     译者:carvendy

片段宏指南

当你使用Maven生成你的web项目,你有一部分动态选项是包括一些源码片段在你的源码页中。

一个片段是一个源码文件的部分,有指定格式的注释。

这个功能受到汇集的片段宏启发,被Maven的Doxia项目提供一种通过 Maven Site Plugin的方式。

在你的文档中包含源码片段,首先在源文档中想要包含的行加入注释,然后参考文档文件片段的id。每个片段必须分配一个id,和id在源文档中必须唯一。如果你想包含实体文件,那么id参数不需要。

Read more

《Maven官方指南》创建一个站点

原文链接     译者:carvendy

创建一个站点

创建内容

第一步,创建你的站点的内容。在Maven中,站点内容划分是有格式的,有这几个可用的:

Read more

《Maven官方指南》30分钟入门

原文链接     译者:carvendy

Maven 入门指南

这个指南预期是作为使用第一次使用Maven工作的,但是也预期服务作为一个单独的引用和常用的解决方案用例。对第一次的用户,这推荐你按顺序一步一步来看材料。对于熟悉Maven的用户,指南努力地提供需要的快速方案。假设你已经下载了Maven和安装好Maven在你本地机器。如果你这样做请参考下载与安装的指令。

好,你现在已经安装好Maven了和我们准备开始。在我们今天例子之前,我们将简要过一遍什么是Maven和它能怎么帮助你处理日常工作并和你团队成员一起协助。Maven将,当然,为了小项目工作,但是Maven表现突出在帮助团队有效操作并允许团队成员着眼于项目需要什么相关者。你可以把构建的事项交给Maven。

Read more

《Maven官方指南》标准目录结构

原文链接     译者:carvendy

介绍标准目录结构

有一个公共的目录结构考虑到用户对一个Maven项目能马上找到家的感觉就算在另外一个Maven项目。这个好处是类似于网站范围内的外观和感觉。

下一个选项文档目录结构为Maven的预期和目录结构油Maven创建。请尽可能地尝试确认这个结构。无论如何,你不能设置那些由项目描述符重写的。

Read more

《Maven官方指南》设置多仓库

原文链接     译者:carvendy

设置多仓库

这里有两个不同的方式让你可以指定多仓库。第一种方式是在pom中指定你想要使用的仓库: Read more

《Maven官方指南》使用工具链指南

原文链接  译者:carvendy

使用工具链指南

什么是工具链?

Maven 工具链提供了一种当他们构建的时候需要时候插件发现使用jdk(或者别的工具),而不需要配置他们在每一个pom.xml中,或者强制给出精确的路径在每个构建的机器上。

有了maven工具链申请JDK工具链,一个项目可以在构建的时候被指定一个版本的jdk依赖maven正使用的JDK。想一想JDK能怎么设置到IDE类似IDEA,NetBean和eclipse,或者你能怎么从Maven构建使用的JDK中使用老的JDK编译。

Read more

《Maven官方文档》插件前缀解析策略

原文链接  译者:carvendy

插件前缀解析策略

当你执行maven的时候使用一个标准的生命周期,这些插件参与的生命周期就像是一个相当简单的进程。无论如何,当你从命令行中引用一个指令,例如clean,Maven必须有一些可靠的方式让clean插件前缀为maven-clean-plugin。这提供了简洁的命令行调用,当保存这些描述性的插件的真实工件id。

对于很多复杂性的问题,不是所有插件应该被强制使用同样的组id(在仓库中)。从这些组id在一个项目中假定被控制,和对于Maven多个项目可能使用的插件,它跟随着插件前缀匹配必须容纳多个插件组id。 对于地址关系,Maven提供了一块新的的仓库级别元数据(与任何单一的工件无关)对于插件组来说,在一个插件匹配管理者来组织多个插件组合提供功能性的搜索。

指定的插件前缀

为了给使用者方便的前缀去引用你的插件,一个前缀必须与你的插件相关在构建的时候。在默认的情况下,Maven将令一个猜想的前缀被使用,被移除任何被“maven”或者“plugin”的连字符在这些插件的工件id。方便的工件id格式被定为:

  • maven-${prefix}-plugin – 官方Apahe团队的插件(你不必使用这些命名的规则作为你的插件,看看更多的信息
  • ${prefix}-maven-plugin – 其他来源的插件。

如果你的插件工件id符合这个规则,Maven将会根据元数据中正确的前缀自动匹配你插件的组id在仓库中的路径。无论如何,如果你想自定义前缀来引用的你插件,你可以指定前缀来引导通过配置参数在maven-plugin-plugin在你的pom中:

<project>
  ...
  <build>
    ...
    <plugins>
      ...
      <plugin>
        <artifactId>maven-plugin-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          ...
          <goalPrefix>somePrefix</goalPrefix>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

以上的配置讲允许使用者引用你的插件通过前缀somePrefix,作为一个例子:

mvn somePrefix:goal

匹配前缀插件

对于每一个组id配置是为了搜索,Maven将:

  1. 从每一个远程仓库下载maven-metadata.xml到本地仓库,和命名为maven-metadata-${repoId}.xml 在内部使用 ${groupId}路径。
  2. 加载元数据文件,在maven-metadata-local.xml(如果存在)中,在内部使用 ${groupId}路径。合并它们。
  3. 发现插件前缀在合并元数据。如果它匹配,它应该引用一个具体的组和工件对。否则,继续在用户插件组中找下一个组id。 这些元数据文件组成的组(为了清晰当这些文件被大块在容器之外的目录),和一个组的插件节点。

在列表中每个插件包含一个前缀节点表示插件的命令行前缀,和一个工件节点, 提供的前缀映射对方提供了足够的信息来查找和使用插入部件。当一个插件被安装和发布,适当的元数据文件被放置和如果前缀匹配丢失了,修改前缀匹配。

配置Maven查找插件

默认情况下,maven将搜索组id org.apache.maven.plugins 为了前缀工件匹配插件,它需要在构建过程中执行。无论如何,前面提到的,使用者可能需要一个第三方的插件。从Maven项目被假定有控制的默认插件组,这意味着配置maven来搜索其他组的位置为了插件前缀匹配。

这很简单。在Maven配置文件(当前用户:${user.home}/.m2/settings.xml; 全局:${maven.home}/conf/settings.xml),你可以提供一个自定义的插件组项目,列出你想要搜索的插件(每个都在自己的plugingroup GroupID的子元素)。作为例子,如果我的项目使用了一个 模板文件,我可以设置:

<pluginGroups>
  <pluginGroup>org.codehaus.modello</pluginGroup>
</pluginGroups>

这使我能够执行以下,这将从模式生成java类:

mvn -Dversion=4.0.0 -Dmodel=maven.mdo modello:java

Maven会搜索以下GroupID的搜索后,在用户设置中指定的任何插件组:

  • org.apache.maven.plugins
  • org.codehaus.mojo

注意:当指定被使用的插件组在搜索的前缀匹配中,秩序是关键!被指定的一个插件组 com.myco.plugins有一个前缀clean,我可以覆盖maven-clean-plugin的时候,当clean:clean被调用的时候。 笔记2:想了解更多信息可以查看 settings.xml

资源

maven配置指南

《Maven官方指南》jdk1.4项目使用JDK1.5构建指南

原文链接  译者:carvendy

jdk1.4项目使用JDK1.5构建指南

你自从Maven 2.2.0 需要 JDK 1.5 来执行,很多用户他们的项目依然使用java 1.4或者更老的版本,他们将需要做一些调整。 理想的情况下,你可以通过使用JDK 1.4编译和测试来解决这个问题,提供适当的工具链配置。无论如何,当前版本编译插件(2.0.2)不是工具链能做的,所以构建一个妥当的构建使用 Maven 2.2.0来构建java面板,比1.5还要老的需要更多其他的配置。 Read more

《Maven官方指南》使用Maven 2 为不同环境构建

原文链接     译者:carvendy

使用Maven 2 为不同环境构建

构建同一个组件到不同的环境是经常让人苦恼的。你有多个环境,为了实例化测试和生产服务或者可能是一个服务的集合他们使用了不同的配置文件。在指南中我将解释怎么样使用配置属性来构建和打包组件并指定环境。看看构建配置属性解释 为了配置属性的概念更深入的解释。 笔记:

  • 指南指出你必须要有基本的Maven 2.
  • 将使用一种方式配置Maven,简单地解决了配置安装。由简单配置安装你,我的意思是你只能有一个文件或者小集合文件来指定环境。有其他更好的方法来处理两个和许多尺寸配置问题·····

这个例子使用标准的文档结构Read more

《Maven官方指南》插件文档标准指南

原文链接     译者:carvendy

介绍

标准从哪里来?

插件文档标准为解决经常抱怨的缺乏文档而编制,特别在Maven插件这块。标准是基于Maven开发邮箱列表的建议而改进。这一个社区maven插件应该怎么样使用的文档共识。

为什么需要一个文档标准

标准不是设置一些条例二十引导插件开发者如何更好地使用插件,为了那些对用户有用的插件来说。标准提醒插件开发者重要的细节需要有文档的,来帮助加快插件推进。 Read more

《Maven官方指南》拷贝sun的jar包

原文地址     译者:carvendy

拷贝sun的jar包

经常用户面对需要构建反对的被sun提供的jar比如Javamail包或者Activation包和用户发现那些不在中心仓库这个破碎建筑里。不幸的很多工件在sun的二进制许可证,不允许我们分发他们的ibiblio而失败。

另外一个问题就是sun没有有任何惯例来他们命名的jar,所以我们建议使用一些公共的命名sun的工件。你可以找到一个我们建议的列表:

Read more

《Maven官方指南》 迁移引导

原文链接

迁移引导

有时候在仓库中迁移工件是很重要的事情。例如一个项目从Maven 1 转 Maven 2。Maven 1 项目传统上使用扁平存储结构,而使用Maven 2使用的深度结构。作为一个例子Maven 1 项目有一个 maven组,而Maven 2的项目中有 org.apache.maven 的组。

制造改变了仓库可以说有很深远的影响。所以最好是第一时间获取正确,它将通过一组不同类型的迁移。

Read more

《Maven官方指南》Maven 类加载指南

原文链接    译者:carvendy

Maven 类加载指南

这里描述的类加载是Maven版本在 2.0.6以上的。

概述

  • System Classloader
  • Core Classloader
  • Plugin Classloaders
  • Custom Classloaders

Read more

《Maven官方指南》多模块工作指南

原文链接    译者:carvendy

多模块工作指南

正如所看到Pom的介绍,Maven支持在一定条件下聚合那些继承项目。这部分概述,就是关于Maven项目处理多模块,和怎么样更有效地工作。

Read more

return top