首页 > 其他分享 >maven toolchains 简单说明

maven toolchains 简单说明

时间:2023-12-26 14:39:17浏览次数:28  
标签:jdk zulu 使用 maven 构建 简单 toolchains

很多时候我们项目可以会包含需要不同jdk 构建,比如有些只能使用jdk8,有些需要使用jdk11,toolchains 可以帮助我们解决此问题

一般玩法

创建一个toolchains.xml 目录,放到home 目录下,里边配置实际需要的jdk 版本(我们的环境可以安装多jdk)
项目构建的时候(使用的插件)使用配置的工具

  • 参考配置

 

<?xml version="1.0" encoding="UTF-8"?>
<toolchains>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>1.8</version>
      <vendor>zulu</vendor>
    </provides>
    <configuration>
      <jdkHome>...../8.0.382-zulu</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>11</version>
      <vendor>zulu</vendor>
    </provides>
    <configuration>
      <jdkHome>...../11.0.20-zulu</jdkHome>
    </configuration>
  </toolchain>
</toolchains>
项目使用
<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <!-- Need to run with Java 8, because `GuavaPatcher` runs too late, and
     `com.google.common.base.Stopwatch` has already been loaded. GuavaPatcher
      tries to re-define the Stopwatch class in the same classloader, but Java
      Java 11 no longer allows this. The existing workaround with that
      `GuavaPatcherRunner` runs into the same issue. A proper solution would be
      to implement a Java agent, which _is_ allowed to re-define classes.
      -->
    <jdkToolchain>
      <version>1.8</version>
    </jdkToolchain>
  </configuration>
</plugin>
<toolchains>

说明

比如dremio 目前构建就需要配置toolchains,依赖的一些包构建只能使用jdk8

参考资料

https://maven.apache.org/guides/mini/guide-using-toolchains.html

标签:jdk,zulu,使用,maven,构建,简单,toolchains
From: https://blog.51cto.com/rongfengliang/8983218

相关文章

  • Halo2简单使用-斐波那契数列
    电路设计Halo2是基于PLONK算法的零知识证明框架,使用Rust语言。在Halo2中要证明你掌握斐波那契数列,例如Fib(10)=55。则需要将你的每一步计算过程(秘密的)罗列出来。并由程序(电路)来进行验证,生成证明。在PLONK算法里,我们使用表格来进行计算跟踪,例如:abc112123235358581381321132134......
  • maven 引入外部jar包
    有时依赖的第三方jar不在maven仓库中,为了能按照maven的方式管理jar同时方便成员间协同,可使用如下方式在pom.xml同级目录下新建lib文件夹,然后将jar放入,然后纳入版本管理在pom.xml中配置依赖,比如<dependency><groupId>com.group</groupId><artifactId>arti......
  • frp远程服务器简单使用记录
     右键以管理员身份运行start.bat就OK了然后,访问的时候,基础地址是:http://47.98.102.138:35040webservice所在的电脑启动的时候,要在本地的41014端口来启动自己的服务实现两边都是访问服务器电脑,服务器电脑把webservice关联起来log是一些失败或者成功的日志 ......
  • nginx代理简单配置
    1./html/web里的config.js可以配置一些参数web是dist,npmrunbuild压缩文件2./conf里nginx.conf配置代理   3/nginx-service.xml配置 4/该目录下cmd创建服务nginx-service.exeinstallnginx-service.exestart  相关命令:nginx-service.exeinstall#安装服务......
  • R:计算相对丰度最简单的R代码
    rm(list=ls())#清除所有变量setwd("C:\\Users\\Administrator\\Desktop\\新建文件夹\\PCoA")#设置工作目录#加载必要的库library(dplyr)#读取数据,假设您的文件名是data.txt#请根据您的文件实际路径调整这里的文件名data<-read.table("otu_table.txt",header......
  • Maven安装步骤--linux
    安装 maven环境前,需要先安装java环境Linux安装jdk1、maven 官网下载安装包maven官网地址:Maven–DownloadApacheMaven历史版本3.6.3为例:  2、安装maven 2.1创建maven文件夹,仓库文件夹mkdir-p/usr/local/maven  mkdir-p/usr/local/maven/reposi......
  • Maven学习笔记 - git-commit-id-plugin插件
    转载自:https://blog.csdn.net/mytt_10566/article/details/100116670参考:插件GitHub地址:https://github.com/git-commit-id/maven-git-commit-id-plugingit-commit-id-plugin是一个类似于buildnumber-maven-plugin的插件,由于buildnumber-maven-plugin插件仅支持CVS和......
  • Maven系列(二)exec-maven-plugin
    转载自:https://www.cnblogs.com/binarylei/p/8628243.htmlMaven系列(二)exec-maven-pluginMaven系列(二)exec-maven-plugin1.mvn命令行运行#exec:java不会自动编译代码,你需要手动执行mvncompile来完成编译mvncompile#执行exec运行main方法mvnexec:java-......
  • Maven War 插件详解
     MavenWar插件详解转载自:https://www.jianshu.com/p/0895de58c524WAR插件负责收集Web应用程序的所有依赖项、类和资源,并将它们打包到WAR包中,仅包含scope为compile+runtime的依赖项,默认绑定到package阶段。详情请参考:https://maven.apache.org/plugins/maven-w......
  • Maven打包插件之——maven-jar-plugin、maven-assembly-plugin、maven-shade-plugin
    转载自:https://blog.csdn.net/calm_encode/article/details/1039315371.打包插件的介绍   打包插件是把class文件,配置文件打包成一个jar(war或者其他格式)的包。而且可执行jar包中包含或者不包含相应的依赖包包,当不包含相应的依赖包时,我们需要建立lib目录,且jar和lib目......