Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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 OSGI数量导入限制_Java_Import_Osgi_Maven Bundle Plugin - Fatal编程技术网

Java OSGI数量导入限制

Java OSGI数量导入限制,java,import,osgi,maven-bundle-plugin,Java,Import,Osgi,Maven Bundle Plugin,我正在构建一个基于OSGI的应用程序,在我的一个类中,我进行了大量的导入(大约30次),当我启动该应用程序时,我会遇到以下异常: java.lang.ArrayIndexOutOfBoundsException: 18 at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:130) at aQute.lib.osgi.Clazz.<init>(Clazz.java:65) at aQute.lib.osgi.Pro

我正在构建一个基于OSGI的应用程序,在我的一个类中,我进行了大量的导入(大约30次),当我启动该应用程序时,我会遇到以下异常:

java.lang.ArrayIndexOutOfBoundsException: 18
    at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:130)
    at aQute.lib.osgi.Clazz.<init>(Clazz.java:65)
    at aQute.lib.osgi.Processor.analyzeJar(Processor.java:159)
    at aQute.lib.osgi.Processor.analyzeBundleClasspath(Processor.java:77)
    at aQute.lib.osgi.Analyzer.analyze(Analyzer.java:194)
    at aQute.lib.osgi.Builder.analyze(Builder.java:95)
    at aQute.lib.osgi.Analyzer.calcManifest(Analyzer.java:293)
    at aQute.lib.osgi.Builder.build(Builder.java:45)
    at org.apache.felix.bundleplugin.BundlePlugin.buildOSGiBundle(BundlePlug...
java.lang.ArrayIndexOutOfBoundsException:18
位于aqte.lib.osgi.Clazz.parseClassFile(Clazz.java:130)
在aqte.lib.osgi.Clazz.(Clazz.java:65)
位于aquete.lib.osgi.Processor.analyzeJar(Processor.java:159)
位于aquete.lib.osgi.Processor.analyzeBundleClasspath(Processor.java:77)
位于aqte.lib.osgi.Analyzer.analyze(Analyzer.java:194)
位于aqte.lib.osgi.Builder.analyze(Builder.java:95)
位于aqte.lib.osgi.Analyzer.calcManifest(Analyzer.java:293)
位于aqte.lib.osgi.Builder.build(Builder.java:45)
在org.apache.felix.bundleplugin.bundleplugin.buildOSGiBundle(BundlePlug。。。
当我注释代码并减少导入的数量时,一切都很顺利

这似乎是OSGI的限制,我如何解决这个问题


谢谢,

快速搜索显示以下问题:

我想你是因为某种原因而经历了这样的经历

根据Stuart McCulloch的说法,在下一个插件版本可用之前,您可以升级项目中本地使用的bnd版本:

  <plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <version>2.5.3</version>
    <dependencies>
      <dependency>
        <groupId>biz.aQute.bnd</groupId>
        <artifactId>bndlib</artifactId>
        <version>2.4.0</version>
      </dependency>
    </dependencies>
  <plugin>

org.apache.felix
maven捆绑插件
2.5.3
商务英语
bndlib
2.4.0

当我使用
2.3.7版的
maven bundle插件时,我遇到了相同的行为。但是当我升级到
3.0.1版时,它消失了(我认为任何更新的版本也应该适合)

所以,尝试将使用的
maven bundle插件升级到最新版本


希望能有所帮助。

我也遇到了类似的问题,我通过将maven bundle插件升级到3.0.1版本来解决了这个问题。
谢谢nndru

我希望我能不止一次地对这个答案进行投票,但我不能。我也希望我能代表原始海报(@user1828433)将它标记为正确答案,但我不能。