《Maven官方指南》使用工具链指南
  TEZNKK3IfmPf 2023年11月14日 21 0

使用工具链指南

什么是工具链?

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

在你的项目中使用的工具链

有两个重要的组成部分,你需要配置为使用工具链:

  1. maven-toolchains-plugin 在你的项目 POM 。
  2. 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工具链,使用 “1.5” “sun”将被使用。 现在插件将怎么知道JDK被安装了呢?这个就需要toolchains.xml的到来了。

toolchains.xml文件(看下面)配置在你设置安装路径的工具链。这个文件应该被放置**/.m2**。 当maven-toolchains-plugin执行,它会找 toolchains.xml ,读取它并找到一个工具链匹配插件配置所需要的工具链。在我们的例子中,一个JDK工具链使用 “1.5” “sun”。在一次匹配中发现插件,插件将被Maven会话使用、正如你所看到的下面的 toolchains.xml ,这的确是一个JDK工具链使用 “1.5” “sun”的配置。所以当maven-compiler-plugin配置在我们的pom中执行,它将会看到一个工具链在Maven会话中和将使用工具链(在我们的例子中,JDK安装在**/path/to/jdk/1.5**) 来编译源码。 开始于Maven 3.3.1 你可以放toolchains.xml无论你放到哪里还是使用**–global-toolchains file 选项,但是它还是推荐放到 /.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文件

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   46   0   0 JSpspring
TEZNKK3IfmPf