问题解决: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

相关文章

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二:

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH