2010-05-21 93 views
1

我使用NetBeans 6.9 Beta版,我想完成以下任务:链接的Maven的OSGi Maven的NetBeans平台项目

  • 建立代表使用Maven(例如“Maven项目”的主要应用程序的项目, “Maven的NetBeans应用程序”)
  • 理想的情况下,该项目应该只包含必要的库在Apache的菲利克斯运行(我想能够用鼠标右键单击该项目并选择“在菲利克斯运行”)
  • 我做不希望项目包含所有NetBean平台API
  • 我宁愿使用OSGi来实现这些模块。例如 “Maven的OSGi软件包”, “Maven NetBeans模块” +的OSGi

这些都是存在的问题,这是我的时刻:

  1. 标准Maven原型( “Maven的NetBeans应用程序”)似乎总是选择所有的API,我还没有找到取消选择API的方法 - 在正常的NetBeans平台应用程序中,可以通过转到项目属性并取消选择平台模块来完成) - 我想这与NetBeans存储库有关(http://bits.netbeans.org/maven2)?我必须创建另一个存储库吗?
  2. 在创建支持OSGi的普通“NetBeans模块”时,模块包含NetBeans模块和OSGi元数据,这很好。因此,例如NetBeans中的工具支持适用于这两种技术。但是“Maven NetBeans模块”只有NetBeans元数据,而Maven OSGi Bundle只有OSGi元数据)。 3.我想通过使用project/new将模块添加到项目中,然后将模块放置到Maven项目文件夹中。但是,我还不太清楚如何链接到其他位置的模块(NetBeans使用Maven模块,这些模块必须与项目位于同一目录中?)。

下面在NetBeans对Maven + OSGi的一些有用的链接

wiki.netbeans.org/STS_69_Maven_OSGI的NetBeans Maven的OSGi的测试规范

platform.netbeans.org/tutorials/nbm-maven-quickstart html的NetBeans平台快速入门使用Maven(6.9)

wiki.netbeans.org/MavenBestPractices的NetBeans Maven的BestPractices

maven.apa che.org/pom.html#Aggregation Maven的文档多模块项目

(抱歉缺少的协议,但未能发布否则该信息)

回答

1
  1. 您的NBM-应用程序项目所依赖的所有平台上项目..只是使用常规的Maven依赖关系管理(添加/删除依赖关系,添加依赖项排除来限制你的平台

  2. 配置nbm插件和bundle插件自己顺序追加内容到清单文件..我认为Fabrizio Guidici的强队和蓝海项目以某种方式做到了这一点..

  3. 我完全不明白这个问题。 maven模块与netbeans模块不同。您肯定可以从多个独立构建nb模块工件中编写应用程序。

+0

1.谢谢,这似乎是合理的 2.嗯,这似乎是一个很好的方式来创建正确的模块!但是我更喜欢NetBeans中的工具支持(我发现这个问题没有那么清楚)。因此,可以通过右键单击OSGi模块来创建NetBeans平台API窗口。 3.是的,这个问题不太好... – mxro 2010-06-08 05:32:32

+0

2.在6.9中不支持在osgi包中使用netbeans模块向导。在netbeans.org上提出问题 – mkleint 2010-07-05 13:11:57