《Maven官方指南》使用工具链指南
原文链接 译者:carvendy
使用工具链指南
什么是工具链?
Maven 工具链提供了一种当他们构建的时候需要时候插件发现使用jdk(或者别的工具),而不需要配置他们在每一个pom.xml中,或者强制给出精确的路径在每个构建的机器上。
有了maven工具链申请JDK工具链,一个项目可以在构建的时候被指定一个版本的jdk依赖maven正使用的JDK。想一想JDK能怎么设置到IDE类似IDEA,NetBean和eclipse,或者你能怎么从Maven构建使用的JDK中使用老的JDK编译。
先决条件
工具链只能在Maven 2.0.9或者更高的版本使用。想知道更多设计和实现的,请看工具链 下面是一些插件是工具的意图,使用的工具类型:
Toolchain type | Plugin | Starting with | Hosted at |
---|---|---|---|
jdk | maven-compiler-plugin | 2.1 | Apache Maven |
jdk | maven-jarsigner-plugin | 1.3 | Apache Maven |
jdk | maven-javadoc-plugin | 2.5 | Apache Maven |
jdk | maven-surefire-plugin | 2.5 | Apache Maven |
jdk | animal-sniffer-maven-plugin | 1.3 | Codehaus Mojo |
jdk | cassandra-maven-plugin | 0.7.0-1 | Codehaus Mojo |
jdk | exec-maven-plugin | 1.1.1 | Codehaus Mojo |
jdk | jdiff-maven-plugin | 1.0-beta-1-SNAPSHOT | Codehaus Mojo |
jdk | keytool-maven-plugin | 1.4 | Codehaus Mojo |
protobuf | maven-protoc-plugin | 0.3.2 | github |
在你的项目中使用的工具链
有两个重要的组成部分,你需要配置为使用工具链:
- maven-toolchains-plugin 在你的项目 POM 。
- toolchains.xml文件在构建机器。
maven-toolchains-plugin 是一个设置工具链被插件意图等使用在你的项目中。
例如,你想使用一个不同的JDK版本编译你的项目不是用来运行Maven的版本,您可以配置要使用这个插件如下pom.xml文件显示的版本:
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>1.5</version>
<vendor>sun</vendor>
</jdk>
</toolchains>
</configuration>
</plugin>
...
</plugins>
正如你可以看到上面的例子,一个JDK工具链,使用 <version> “1.5” <vendor> “sun”将被使用。 现在插件将怎么知道JDK被安装了呢?这个就需要toolchains.xml的到来了。
toolchains.xml文件(看下面)配置在你设置安装路径的工具链。这个文件应该被放置**${user.home}/.m2**。 当maven-toolchains-plugin执行,它会找toolchains.xml,读取它并找到一个工具链匹配插件配置所需要的工具链。在我们的例子中,一个JDK工具链使用 <version> “1.5” <vendor>“sun”。在一次匹配中发现插件,插件将被Maven会话使用、正如你所看到的下面的toolchains.xml,这的确是一个JDK工具链使用 <version> “1.5” <vendor> “sun”的配置。所以当maven-compiler-plugin配置在我们的pom中执行,它将会看到一个工具链在Maven会话中和将使用工具链(在我们的例子中,JDK安装在**/path/to/jdk/1.5**) 来编译源码。 开始于Maven 3.3.1 你可以放toolchains.xml无论你放到哪里还是使用**–global-toolchains file选项,但是它还是推荐放到${user.home}/.m2/**。
<?xml version="1.0" encoding="UTF8"?>
<toolchains>
<!-- JDK toolchains -->
<toolchain>
<type>jdk</type>
<provides>
<version>1.5</version>
<vendor>sun</vendor>
</provides>
<configuration>
<jdkHome>/path/to/jdk/1.5</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<version>1.6</version>
<vendor>sun</vendor>
</provides>
<configuration>
<jdkHome>/path/to/jdk/1.6</jdkHome>
</configuration>
</toolchain>
<!-- other toolchains -->
<toolchain>
<type>netbeans</type>
<provides>
<version>5.5</version>
</provides>
<configuration>
<installDir>/path/to/netbeans/5.5</installDir>
</configuration>
</toolchain>
</toolchains>
请注意,您可以配置许多工具,如你想在你的toolchains.xml文件
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Maven官方指南》使用工具链指南
暂无评论