3

背景 我有一个项目,其中包含我的域模型和持久性代码(使用 Spring-ROO 创建)。我已将其更改为 OSGi 包,并使用 Maven(通过 PAX Construct 脚本)构建和部署它。这个捆绑包很好地部署到 Equinox,我可以访问各种服务等。

我还有一个 Eclipse RAP 插件/包,我想从中调用域包实现的服务/spring bean。这就是事情变得有趣的地方。

问题:

1) 如何设置由 Maven 构建的 Eclipse RAP 项目?我使用mvn eclipse:to-maven目标将我的 Eclipse RAP 目标平台的插件放入我的本地存储库,但是当我使用时:

`pax-import-bundle -g org.eclipse.rap -a ui -v 1.3.0 -- -DimportTransitive -DwidenScope  `

我收到此错误:

[INFO] [pax:import-bundle {execution: default-cli}]
[INFO] 将 Eclipse UI 导入到 com.propertyselldirect.propsell.build:provision:pom:1.0.0-SNAPSHOT
[INFO] 添加 Eclipse UI 作为依赖项com.propertyselldirect:rap:bundle:1.0.0-SNAPSHOT
[INFO] ---------------------------------- --------------------------------------
[错误] 致命错误
[信息] ---- -------------------------------------------------- ------------------
[INFO] 版本对于 org.eclipse.core:runtime
[INFO] 为空 --------------- -------------------------------------------------- -------
[INFO] 跟踪
java.lang.NullPointerException:org.eclipse.core:runtime 的版本为空
在 org.apache.maven.artifact.DefaultArtifact.getBaseVersion(DefaultArtifact.java:390)

我也尝试过手动添加每个 Eclipse 运行时和 rap 依赖项,然后构建项目,但是当我部署到 OSGi(使用pax-provision)时,大多数 Eclipse RAP(和 org.eclipse.core.runtime)插件都没有激活。它们大多被列为INSTALLED.

2)或者,我是否应该使用 Eclipse PDE 来构建,然后将我的域插件(可能还有所有 Spring-DM 捆绑包)作为依赖项包含在内。在这种情况下,我将如何(自动)让 Eclipse PDE 访问那些将部署到我的 Maven 存储库的插件/捆绑包?我是否将它们手动安装到某个目标平台directoty,并使其成为我的 RAP 目标平台?(即因此具有添加了所有 Spring-DM 捆绑包的 RAP 目标平台)。

我还有很多问题,但现在这些就足够了。

任何指向网络上有用的文档/文章的指针都将受到欢迎。我用谷歌搜索,但没有发现任何特别有用的东西。

4

2 回答 2

1

我们和一些朋友一起创建了 dynaresume 项目 ( http://code.google.com/p/dynaresume/ )。我们的主要目标是利用以下最佳实践: - Eclipse RCP - Spring DM - JPA

目前它可以工作,但它没有很多东西它主要是一个概念证明

我们还尝试提供一个 Web 客户端,例如 Eclipse RAP。

我使用 Maven 3/Tycho 对所有这些东西进行了 mavenized,恕我直言,这是 mavenize OSGi 包的最简单方法。

我想我们应该保持联系,因为我们的目标相同。

于 2010-03-02T09:27:02.387 回答
0

我不是 OSGi 专家,但也许可以看看Introduction to OSGi with Pax, Maven, and Nexus Professional。看起来 Sonatype 写了一些关于这个主题的东西。

于 2010-03-01T14:58:24.990 回答