本文主要是介绍问题解决: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 IDEA | 2019.1 |
maven | 3.2.3 |
JDK | 1.8 |
flyway | 2020-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-parent
的pom.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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!