簡體   English   中英

如何在Eclipse中訪問內部Java包?

[英]How to make an internal Java package accessible in Eclipse?

我在Eclipse中使用Java 11(或Java 10)打開了一個遺留Java(8)項目。 Eclipse現在正在抱怨無法訪問的軟件包。 例如com.apple.laf.AquaComboBoxUI

從命令行編譯時,我可以通過向javac添加參數來顯式訪問這些包:

--add-exports java.desktop/com.apple.laf=ALL-UNNAMED

有沒有辦法在Eclipse IDE中執行相同的操作? 我試圖在JDK庫上添加一個可訪問的規則。 但這似乎沒有效果。 有任何想法嗎?

是的,我知道,我們應該將項目遷移到僅使用官方API。 但那是漫長的道路......

我正在回答我自己的問題,因為我找到了解決方案。

  1. 在Eclipse設置中,導航到: Java Build PathLibrariesModulepathJRE System Library
  2. 展開它並雙擊: 是模塊化的(修改封裝)
  3. 切換到詳細信息選項卡
  4. 添加新導出:例如java.desktopcom.apple.laf

您需要設置問題嚴重性。 這屬於Java Compiler -> Errors/Warnings下的forbidden reference (access rules)

如前所述您可以使用以下步驟將在命令行中使用javac傳遞的參數添加到Eclipse:

  • 單擊Run->Run Configurations

  • Main tab下顯示的窗口中Browse the project要為其傳遞參數Browse the projectMain class

  • 現在單擊Arguments選項卡。
  • 在標記為Program arguments:的文本框中,鍵入${string_prompt}
  • 單擊“ Apply and Close

現在,當您運行Java應用程序時,將出現一個提示。 您可以在此處添加用空格分隔的所有參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM