如何使内部Java包在Eclipse中可访问? [英] How to make an internal Java package accessible in Eclipse?

查看:74
本文介绍了如何使内部Java包在Eclipse中可访问?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用Java 11(或Java 10)在Eclipse中打开的旧版Java(8)项目。 Eclipse现在正正确地抱怨无法访问的软件包。例如。 com.apple.laf.AquaComboBoxUI

I have a legacy Java (8) project opened in Eclipse with Java 11 (or Java 10). Eclipse is now rightly complaining about inaccessible packages. E.g. com.apple.laf.AquaComboBoxUI.

从命令行编译时,我可以通过添加使这些包显式访问 javac 的参数:

When compiling from command line I can make those packages accessible explicitly by adding a parameter to javac:

-add-exports java.desktop / com。 apple.laf =全部取消命名

是否可以在Eclipse IDE中执行相同的操作?我试图在JDK库上添加可访问的规则。但这似乎没有效果。有什么想法吗?

Is there a way to do the same from inside the Eclipse IDE? I tried to add an accessible rule on the JDK library. But that seems to have no effect. Any ideas?

是的,我知道,我们应该将项目迁移为仅使用官方API。但这是很长的路要走……

And yes, I know, we should migrate the project to use only official APIs. But that's a long, long way...

推荐答案

我正在回答自己的问题,因为找到了解决方案。 / p>

I'm answering my own question, since I found a solution.


  1. 在Eclipse设置中,导航至: Java Build Path Libraries Modulepath JRE系统库

  2. 展开并双击:是模块化的(修改封装)

  3. 切换到详细信息 选项卡

  4. 添加新的导出:例如 java.desktop com.apple.laf

  1. In Eclipse settings navigate to: Java Build PathLibrariesModulepathJRE System Library
  2. Expand it and double click on: Is modular (modifies encapsulation)
  3. Switch to Details tab
  4. Add a new export: E.g. java.desktopcom.apple.laf

这篇关于如何使内部Java包在Eclipse中可访问?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆