Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Felix如何使用FrameworkWiring.GetDependencySure_Java_Osgi_Bundle_Apache Felix - Fatal编程技术网

Java Felix如何使用FrameworkWiring.GetDependencySure

Java Felix如何使用FrameworkWiring.GetDependencySure,java,osgi,bundle,apache-felix,Java,Osgi,Bundle,Apache Felix,我正试着为每一个包裹找一个包裹。 在本文中,我被建议使用FrameworkWiring.getDependencyClosure, 但我不明白如何初始化类,frameworkwilling.getDependencyClosure——它是一个接口。 felix中是否有此接口的实现 第二个问题: 我找到了 BundleWiringImpl getRequirements(null); 但我不能初始化 BundleWiringImpl testObject = new BundleWiringIm

我正试着为每一个包裹找一个包裹。 在本文中,我被建议使用
FrameworkWiring.getDependencyClosure
, 但我不明白如何初始化类,
frameworkwilling.getDependencyClosure
——它是一个接口。 felix中是否有此接口的实现

第二个问题: 我找到了

BundleWiringImpl getRequirements(null);
但我不能初始化

BundleWiringImpl testObject = new BundleWiringImpl();
NetBeans显示错误:

constructor BundleWiringImpl in class BundleWiringImpl cannot be applied to given types;
  required: Logger,Map,StatefulResolver,BundleRevisionImpl,List<BundleRevision>,List<BundleWire>,Map<String,BundleRevision>,Map<String,List<BundleRevision>>
  found: no arguments
  reason: actual and formal argument lists differ in length
类BundleWiringImpl中的构造函数BundleWiringImpl不能应用于给定类型; 必需:记录器、映射、状态解析程序、BundleVisionImpl、列表、列表、映射、映射 找到:没有参数 原因:实际参数列表和正式参数列表长度不同 如何获得deps?:) 还有别的办法吗?

叹气。您是否阅读了有关框架布线类型的说明

可以通过调用系统捆绑包上的bundle.adapt(FrameworkWiring.class)来获取框架的框架连接对象。只有系统捆绑包才能适应FrameworkWiring对象。

。您是否阅读了有关框架布线类型的说明


可以通过调用系统捆绑包上的bundle.adapt(FrameworkWiring.class)来获取框架的框架连接对象。只有系统捆绑包才能适配到FrameworkWiring对象。

为什么只能适配到系统捆绑包?为什么我不能从其他包中调用它?可能我想用更新逻辑制作一个包,以简化更新程序包的更新(更新程序包的自我更新),因为这就是它的设计方式。FrameworkWiring是关于整个框架的,系统包是框架的同义词。您可以从任何BundleContext:
context.getBundle(0)
轻松获取系统捆绑包对象。您好。谢谢你的回复。但是,当我尝试这样做时,我得到了编译错误,为什么它只能适用于系统包?为什么我不能从其他包中调用它?可能我想用更新逻辑制作一个包,以简化更新程序包的更新(更新程序包的自我更新),因为这就是它的设计方式。FrameworkWiring是关于整个框架的,系统包是框架的同义词。您可以从任何BundleContext:
context.getBundle(0)
轻松获取系统捆绑包对象。您好。谢谢你的回复。但当我尝试这样做的时候,我得到了编译错误