簡體   English   中英

在MacOS的IDEA中運行bnd結構的應用程序:未解決的要求:導入包:com.apple.eawt

[英]Running bnd-structured app in IDEA on MacOS: Unresolved requirement: Import-Package: com.apple.eawt

我正在嘗試從IntelliJ IDEA運行Alloy (prkiens / markdown分支),以便可以使用IDEA調試器。 該項目使用bnd工作區,我從未處理過。

我在macOS(High Sierra)上運行。

我通過導入build.gradle將項目加載到IntelliJ中,並嘗試設置“ Bnd OSGi”配置來運行它。 我不確定哪個文件用作Bnd運行描述符。 我最好的猜測是使用org.alloytools.alloy.dist / bnd.bnd 當我嘗試運行它時,出現以下錯誤:

! could not resolve the bundles: [org.alloytools.alloy.dist-5.0.0.201803130320 org.osgi.framework.BundleException: Could not resolve module: org.alloytools.alloy.dist [1]
  Unresolved requirement: Import-Package: com.apple.eawt

我在這里做錯了什么?

請注意,使用Gradle構建項目就可以了:

./gradlew build
java -jar  org.alloytools.alloy.dist/target/org.alloytools.alloy.dist.jar

在您的bnd.bnd嘗試在底部添加:

Import-Package: \
!com.apple.eawt,\
*

在此處未列出依賴項通常會導致您描述的問題。

我認為有一個IDEA bnd插件,它不如Eclipse支持那么先進,但我認為它可以識別bnd文件。

不要以dist項目開頭,因為這只會將不同的項目聚合到一個JAR中進行分發,並包含創建MacOS pkg文件的代碼。 要運行GUI,只需調試SimpleGUI類。 bnd確保所有必需的JAR都是連續構建的(至少在Eclipse上)。

就是說,為自己節省一些工作,並首先通過bndtools熟悉Eclipse。 在Eclipse中,所有這些都自動運行。 一旦了解了它的工作原理,就可以輕松地將信息傳輸到IDEA。 (然后為其他人寫一個Wiki頁面!)

更新 Lorin在自述文件中添加的說明

暫無
暫無

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

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