背景 我有一个项目,其中包含我的域模型和持久性代码(使用 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 目标平台)。
我还有很多问题,但现在这些就足够了。
任何指向网络上有用的文档/文章的指针都将受到欢迎。我用谷歌搜索,但没有发现任何特别有用的东西。