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

maven toolchains 简单说明

时间:2023-12-21 14:44:59浏览次数:26  
标签:Java 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>

说明

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

参考资料

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

标签:Java,jdk,zulu,maven,构建,简单,toolchains
From: https://www.cnblogs.com/rongfengliang/p/17919007.html

相关文章

  • 用JS实现简单的屏幕录像机
    本文将介绍如何用JS实现简单的屏幕录像机。一、录制准备创建一个按钮<buttonid="recording-toggle">Startrecording</button>书写JavaScriptvarRECORDING_ONGOING=false;varrecordingToggle=document.getElementById("recording-toggle");//按钮recordingTog......
  • 研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库
    沉淀,成长,突破,帮助他人,成就自我。大家好,我是冰河~~在研发的过程中,很多企业都会针对自身业务特点来定制研发一些工具类库,但是这些工具类库又不会对外公开,那如何在组织内部共享这些类库呢?一种很好的方式就是在公司内部搭建一套Maven私服仓库。一、背景知识搭建Maven私服仓库可......
  • 从Newtonsoft.Json迁移到 System.Text.Json不简单
    一.写在前面#System.Text.Json是.NETCore3及以上版本内置的Json序列化组件,刚推出的时候经常看到踩各种坑的吐槽,现在经过几个版本的迭代优化,提升了易用性,修复了各种问题,是时候考虑使用System.Text.Json了。本文将从使用层面来进行对比。System.Text.Json在默认情况下十......
  • 网络驱动简单认识
    网络驱动     网络驱动是指在计算机系统中,用于控制和处理网络硬件设备的软件模块。它位于操作系统内核中,负责实现网络协议、处理数据包以及与网络设备进行通信。网络驱动的作用是将操作系统与网络设备之间的原始硬件操作进行抽象,以便于上层应用程序能够方便地使用网络功......
  • ThinkPHP6 关于事件的简单应用
    一、序章ThinkPHP6的手册中关于【事件】章节的介绍都是直接文字说明,给出创建的类文件,并没有一个好的示例来进行补充说明。对于刚接触【事件】的同学在阅读理解上增加了一点点困难,本文就在此结合示例简单叙述下。 二、事件事件的使用分两种方式,一个是不使用事件类,另一个使用事......
  • HTML5 dialog标签简单使用
     HTML5dialog标签简单使用<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>......
  • maven命令行参数
    -am,--also-makeIfprojectlistisspecified,alsobuildprojectsrequiredbythelist如果指定了项目列表,还可以生成列表所需的项目-amd,--also-make-dependentsIfprojectlistisspecified,alsobuildprojectsthatdependonprojectsonthelist如果......
  • IDEA启动maven项目,禁止下载jar包
    问题IDEA启动maven项目,每次启动都自动去远程仓库拉jar包,很慢,还会报错,比如下面这样[WARNING]Couldnottransfermetadataxxxxxx-SNAPSHOT/maven-metadata.xmlfrom/topublicxxxxx:Transferfailedforxxxxxxx-SNAPSHOT/maven-metadata.xml解决1、maven命令......
  • eclipse新建Maven项目卡33%以及新建项目wadapp报错
    eclipse新建Maven项目时明明配置都改了,但是一直卡在33%不动的原因是因为有些eclipse的版本需要你输入Y才开始新建项目如图所示输入Y就可以啦新建项目报错参考连接eclipse新建项目报错:Thesuperclass“javax.servlet.http.HttpServlet“wasnotfoundontheJavaBuildPath......
  • php+dm达梦数据库简单连接
    1.安装php准备php环境,下载phpstudy,自带php7.3.4nts,安装好以后如果系统环境变量没有配置要配置一下php的的系统环境变量2.安装达梦数据库win64+dmv8在达梦数据库的文件夹中选择合适版本的扩展文件复制到达梦的各版本扩展文件所在位置:php的扩展文件中php的扩展文件: 配置p......