问题解决:flyway源码编译,报:flyway-core: Fatal error compiling: 无效的标记: --release

本文主要是介绍问题解决:flyway源码编译,报:flyway-core: Fatal error compiling: 无效的标记: --release,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 问题场景
  • 问题环境
  • 问题原因
  • 解决方案
    • 将JDK版本进行升级(推荐)
    • pom.xml 注释掉 `8`
  • 总结
  • 参考文档
  • 随缘求赞

问题场景

下载了flyway的源码到本地研究。因为本地环境是idea+maven,所以我一般新项目都会先编译一次,在编译的时候,就会将依赖都下载下来。有时候idea的依赖管理会很奇葩的,如果不编译一下,一些依赖有时候就是死活下载不下来。
在这里插入图片描述
但是运行的时候,竟然出错了。我什么东西都没改,直接拿官方的东西下来运行,都不行!!!
在这里插入图片描述
报错提示如下:

ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project flyway-core: Fatal error compiling: 无效的标记: --release -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

问题环境

软件版本
IntelliJ IDEA2019.1
maven3.2.3
JDK1.8
flyway2020-06-04的版本

问题原因

首先,问题提示已经说明了原因所在,这个是因为插件maven-compiler-plugin不识别release标志。那么,为什么不识别呢?我们到maven官方网站查找插件maven-compiler-plugin的文档,找到以下描述:
在这里插入图片描述
从博客的问题环境里面,我们可以知道,我们当前环境是JDK8,是不识别release标志的,所以提示报错。

解决方案

找到问题了,这里有两种解决方案:

将JDK版本进行升级(推荐)

既然是JDK版本过低,那升级JDK版本是最好的办法,可以一劳永逸地解决这个问题。而本篇博客的开发环境是使用JDK8,那么更换为JDK9,然后再执行编译运行。结果如下:

[INFO] — maven-compiler-plugin:3.8.1:compile (default-compile) @ flyway-core —
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 336 source files to D:\code\github\flyway\flyway-core\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.756 s
[INFO] Finished at: 2020-06-04T12:29:25+08:00
[INFO] Final Memory: 17M/58M

pom.xml 注释掉 <release>8</release>

如果没办法升级JDK版本,那直接将pom.xml文件里面的maven-compiler-plugin的配置项release注释掉,然后重新跑。而本文是针对flyway源码进行编译,这里的插件位置是在fly-parentpom.xml文件里面。注释之后,再进行编译运行,结果和上一步是一样的,都是顺利跑通了,xml关于该配置如下:

<plugin><artifactId>maven-compiler-plugin</artifactId><configuration><!--<release>8</release>--><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration>
</plugin>

在这里插入图片描述

总结

通过官方文档找到问题原因,并根据该原因,博主提供了两种解决方案。这个过程,再次告诉了我们,出现问题最好先去官方文档找找看,不要一开始就漫天地去百度或者谷歌问题的答案。

参考文档

maven-compiler-plugin参数列表

随缘求赞

如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以点击关注
可以扫描以下二维码,关注我的公众号:枫夜之求索阁,查看我最新的分享!
在这里插入图片描述
拜拜

这篇关于问题解决:flyway源码编译,报:flyway-core: Fatal error compiling: 无效的标记: --release的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114807

相关文章

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到