我有一个编译成OSGi包的java项目。我正在使用maven-bundle-plugin来创建包,并使用maven-sling-plugin将包推送到我正在运行的OSGi服务器。目前,我的项目有两个依赖项(Guava和Gson),需要在安装包之前手动安装到Felix服务器中。这两个依赖包的手动安装只需要发生一次(当第一次设置OSGi服务器时),但由于它是一个手动过程,我有点想将它插入“mvn安装”阶段。我看过很多maven插件(maven-sling-plugin、maven-ipojo-plugin、依赖插件等),但恐怕我没有足够的知识知道在哪里开始,甚至在Stackoverflow
我在我的项目中使用YuiCompressorTask(最新版本)已经很长时间了,没有任何问题。在OSX上升级到Oracle的Java1.7包后,它会中断并出现以下异常(这是针对javascript文件;它适用于css文件):[yuiCompress]java.lang.reflect.InvocationTargetException[yuiCompress]atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)[yuiCompress]atsun.reflect.NativeMethodAccessorImpl.inv
我们正在考虑使用ConfigurationAdminService作为在我们基于OSGi的应用程序中配置组件的主要API。如果我们可以重用一些现有的实现,那就太好了,所以我正在尝试调查和评估最受欢迎的实现。我知道有:ApacheFelixConfigAdmin(org.apache.felix.cm)EquinoxConfigAdmin(org.eclipse.equinox.cm)是否还有其他实现需要考虑?此外,我无法为这些实现找到任何好的文档。我主要对特定于实现的细节感兴趣。例如,我想知道不同的实现如何保留配置数据(例如多个属性文件?XML文件?多个XML文件?数据库?,...)。
我正在使用aQuteBnd工具集来创建OSGi包,并打包了一些相关的“资源”文件。这包括我创建的资源目录中的*.css文件和*.xsd文件。我在bundle.bnd文件中包含了以下内容:Include-Resource:resources/=resources/当我进行构建时,生成的*.jar文件在jar包文件顶层目录的资源目录中包含*.css和*.xsd文件。但是,在实际代码中,我很难尝试将其作为我的类路径的一部分:我尝试了以下方法:newFile("resources/example.css");我也试过:URLcssFile=this.getClass().getResource
我使用此代码将数据从一个Activity传递到另一个Activity:@Overridepublicvoidexecute(Listreports,Questionsquestion){IntentreplyIntent=newIntent(listener,ReplyActivity.class);replyIntent.putExtra("id",0L);replyIntent.putExtra("questions",question);listener.openReportOk(question);listener.startActivity(replyIntent);}Lis
OSGi包启动级别是如何定义的?我正在使用Apachefelix,并希望在整个框架执行过程中保持启动级别。我预计根本不需要非常频繁地更改bundle的起始级别,Manifest.MF中的一个条目似乎是最明智的。我已经到org.osgi.framework.startlevel但还没有看到一个实际的例子。我也在使用maven和maven-bundle-plugin,如果有一种优雅的方式将起始级别合并到POM中,那将是非常棒的。 最佳答案 Bundle不会在构建时定义它们自己的起始级别;将bundle安装到框架中的管理员或代理定义了它。
我有一堆基于Eclipse的插件,我一直在迁移到Maven/Tycho。这些插件中的大多数都依赖于我现在通过Maven管理的独立库,而不是与.jar混为一谈。文件。我当前设置中最麻烦的部分是由于Tycho明显无法处理Maven-only(即非OSGi)Artifact。我当前的设置是这样的:在pom.xml对于每个Eclipse插件,我都会发布unpack目标maven-dependency-plugin在initialize期间阶段。这会将我指定的Artifact解压缩到单独的target/dependencies目录。target/dependencies目录被添加为build.p
我想知道是否可以嵌入像Karaf这样的OSGi容器在Tomcat实例中。根据thisSOquestion和其他一些,它似乎可能,但我似乎无法找到有关如何执行此操作或需要注意哪些陷阱/警告的任何可靠细节。所以:是否可以在Tomcat中嵌入一个OSGi容器,这样我就可以在任何时候将OSGi包热部署到这个容器而无需重新启动Tomcat?如果上面#1的答案是"is",那么在Tomcat中嵌入OSGi会暴露哪些系统服务/端口?我问是因为我想在我没有管理员权限的JavaPaaS上托管的Tomcat服务器中部署OSGi。我想知道当我尝试将嵌入式OSGi容器部署到Tomcat时,它是否会尝试开始监听端
我目前正在尝试将Eclipse设置为从/opt/eclipse运行。一切顺利;我使用Eclipse安装程序将软件提取到/opt/eclipse;我在我的/usr/bin目录中创建了一个指向它的软链接(softlink),这样我就可以在我的用户终端的任何地方输入“eclipse”来运行它,我以为我已经完成了,直到发生这种情况:$eclipse/root/.p2/pool/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444:无法打开共享对象文件:权限被拒绝Gtk-Message:GtkDi
我使用eclipse插件项目向导(使用eclipseHelios)创建了两个OSGI包A和B。在bundleB的list文件中,我添加了bundleA作为依赖项。此外,我已经导出了A中的包,因此它们对B可见。我在包A中也有一个.properties文件,我想让它对包B可见。在包A的build.propertiesPane中,我指定了:source..=src/bin.includes=META-INF/,\.,\bundle_A.properties现在在bundleB中,我尝试使用以下方法加载.properties文件:privatePropertiesloadProperties(