我为OSGi创建了一个命令组件,并使用了Apache Felix Shell。一个命令将打开一个启动SWT UI的新线程。OSGi/BND:根据操作系统的不同要求
在BND配置的SWT捆绑需要用于构建并运行该组件。现在的问题是,每个开发人员都必须更改配置并在他们的操作系统中包含SWT Bundle。另外,对于每个操作系统,还需要其他打包的Bundle,其中唯一的区别是jar的Manifest中的一行,其他Bundle需要启动。
是否有BND或OSGi的任何伎俩,在那里我可以设置生成或运行依赖取决于当前运行的系统上?
类似于“org.eclipse.swt。{OS}。{WS}。{ARCH}”而不是“org.eclipse.swt.win32.win32.x86_64”? 或者至少我可以要求配置中的特定操作系统?所以,如果用户使用错误的包,它会显示一个很好的错误,而不是一个ClassNotFound异常?
另一个问题(http://stackoverflow.com/questions/2706222/create-cross-platform-java-swt-application/5784073#5784073)中描述的解决方案不适用于我或更好我不'不知道BND/OSGi如何做到这一点。
任何想法?
谢谢你的提示。但没有帮助我真的出来。只有我发现的是“在这种情况下,片段P in将在运行时合并到A的内部类路径中。”但没有领导我如何实现这一目标。 – attrib 2012-07-11 07:03:20