正在将 java 应用程序从 Java 8 迁移到 Java 11

Migrating java application from Java 8 to Java 11

提前谢谢,谁会帮助我。

故事: 到目前为止,我的应用程序正在使用 JDK8,但现在我正在将我的应用程序迁移到 Open JDK11 并使用 IVY 作为依赖管理器和 Ant 作为构建工具。

问题: 我在 javax 的 eclipse 中遇到编译时问题,但后来我更改了 JRE 构建路径中的 lib,从 classpathModulepath。现在一切正常。但现在的主要问题是,虽然 运行 antbuild.xml 使用 Ant,这仍然给我同样的编译时错误。我想我知道现在该做什么,但我不知道该怎么做。我必须在 antbuild.xml.

中的某处添加 Open JDK11 作为模块路径

主要问题: 如何将 Open JDK11 设置为 antbuild.xml 中的模块路径(基本 ANT 构建文件).

如果问题还是不明白,请告诉我。

11 个月后,我能够 post 找到答案,因为我理解了实际​​问题,现在我有一个解决方案,我在我的项目中实施并且它完美地工作,所有编译时错误都已修复.

我实施的解决方案。

  • 在eclipse中打开工程,我的Eclipse最新版本是2019-06 build
  • 右键单击项目 > properties > Java build path
  • classpath 删除 Java 8 并在其上方,您会发现 Modulepath
  • 单击 Modulepath,然后单击右侧按钮窗格中的 Add Library
  • 现在将打开一个对话框 select JRE System Library下一步 按钮
  • 现在可以selectInstalled JREs..按钮添加新版本java
  • 在已安装的 JRE 对话框中按 添加 按钮
  • Select Standard VM > 按下一步按钮。
  • 现在 Select JRE Home 从你的文件系统确保你 select 路径到 bin,而不是 bin
  • 完成并应用所有更改
  • 现在让eclipse构建工程,当然会报错

出现这个问题的原因

看到 Java 改变了它的文件结构,所以很多包移动到这里那里。使用了一些新包,一些被替换和重命名。

所以基本问题就是这个。


我们可以实施的解决编译时错误的解决方案

  • 打开有错误的文件,查看哪个导入产生错误,复制不可用的文件名,或者没有错误
  • Ctrl + shift + t,粘贴文件名,看看我们现在有哪些可能的选项,实际上现在我们有不止一个提供相同class执行。所以现在我们必须选择一个并从依赖管理器中删除另一个依赖。
  • 现在我们必须添加更多依赖项来支持我们的代码。
  • 清理冗余依赖。
  • 现在我们只需要解决编译时错误。我们可以做的解决方案。

这个解决方案帮助了我。 如果您遇到同样的问题,请联系我,我可能会帮助您解决这个问题。