Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在MacOS上运行IDEA中的bnd结构化应用程序:未解决的需求:导入包:com.apple.eawt_Java_Macos_Intellij Idea_Alloy_Bnd - Fatal编程技术网

Java 在MacOS上运行IDEA中的bnd结构化应用程序:未解决的需求:导入包:com.apple.eawt

Java 在MacOS上运行IDEA中的bnd结构化应用程序:未解决的需求:导入包:com.apple.eawt,java,macos,intellij-idea,alloy,bnd,Java,Macos,Intellij Idea,Alloy,Bnd,我正在尝试从IntelliJ IDEA运行(prkiens/markdown分支),以便使用IDEA调试器。这个项目使用了bnd工作区,这是我以前从未处理过的 我在运行macOS(High Sierra) 我通过导入build.gradle将项目加载到IntelliJ中,并尝试设置一个“Bnd OSGi”配置来运行它。我不确定使用哪个文件作为Bnd运行描述符。我最好的猜测是使用。当我尝试运行它时,出现以下错误: ! could not resolve the bundles: [org.allo

我正在尝试从IntelliJ IDEA运行(prkiens/markdown分支),以便使用IDEA调试器。这个项目使用了bnd工作区,这是我以前从未处理过的

我在运行macOS(High Sierra)

我通过导入build.gradle将项目加载到IntelliJ中,并尝试设置一个“Bnd OSGi”配置来运行它。我不确定使用哪个文件作为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,\
*
没有列出依赖项通常会导致您描述的问题。

我认为有一个问题,它没有Eclipse支持那么先进,但我认为它可以识别bnd文件

不要从dist项目开始,因为它只是将不同的项目聚合到一个JAR中进行分发,并包含创建MacOS pkg文件的代码。要运行GUI,只需调试SimpleGUI类。bnd确保所有必要的JAR都是连续构建的(至少在Eclipse上)

也就是说,节省一些工作,首先使用bndtools熟悉Eclipse。在Eclipse中,这一切都是自动工作的。一旦你们了解了它是如何工作的,你们就可以很容易地将这些信息传递给IDEA。(并为其他人编写wiki页面!)


更新Lorin在

上添加了说明。我的问题是,我将其作为Gradle项目导入,而不是作为Bnd项目导入。我认为这不是正确答案,您可能想删除它?