Java 10 是如何进行迁移的?

您可能知道Java 10是最近发布的。它没有太多新功能。至少对于 Kotlin 开发商......但对于JVM本身来说也有一些改进。而且,我猜,在接下来的版本中会有更多。从现在起,我们将每年收到两次!因此,我认为最好花点时间来同步您的项目,以便将来更容易以同样的速度进行迁移。

我参与的主要项目是由Kotlin提供的基于SpringBoot 1.5.X的服务,它使用Postgres作为数据库。目前,它使用Java 8。跳过Java 9并直接跳至10 的绝佳机会!受此想法启发,我打开了笔记本电脑。

我使用SDKman安装Java,但对于Java 10,由于某些未知原因,它提供的版本已损坏。因此,这次我不得不从官方网站手动下载捆绑软件。

最大的问题是某些库不再是JDK的一部分。这是个好消息,它正在变得越来越清洁。但是结果是,您需要为项目定义其他依赖项。您还可以将它们包含在命令行参数中,因为它们实际上仍在JDK中,但是我认为最好将它们移入依赖项,因为据我所知,它们将在将来的发行版中完全删除。以我为例:

Java 10 是如何进行迁移的?_第1张图片

第二个问题是Jacoco Gradle插件。如果您使用它来衡量代码覆盖率,那么就有个好消息— Jacoco本身支持Java 10。但是要使Jacoco Gradle插件正常工作,我必须在gradle构建文件中指定这样的工具版本:

Java 10 是如何进行迁移的?_第2张图片

最后一个损坏的部分 :Mockito。通过添加如下所示的Bytebuddy库的新版本可以解决该问题:

Java 10 是如何进行迁移的?_第3张图片

经过这些修改,我能够构建并运行我的项目,并且所有测试都是绿色的。不要害怕迁移!下一步将准备Dockerbuild文件。但这是下一篇文章的主题。

原文链接:https://dev.to//gimlet2/java-10--migration-story-41k7

你可能感兴趣的:(Java 10 是如何进行迁移的?)