代码之家  ›  专栏  ›  技术社区  ›  penguru

捆绑包的激活器无效

  •  17
  • penguru  · 技术社区  · 17 年前

    包org.x.y的org.x.y.Activator无效。

    14 回复  |  直到 12 年前
        1
  •  17
  •   Community Mohan Dere    9 年前

    检查你的 build.properties 章节

    如果它没有正确指定最终二进制结果中应该包含什么,它将无法工作。请检查MANIFEST所在的.class文件。MF说他们会的。


    EclipseZone ,此错误消息的另一个原因:

    如果你在日志中看到这样的消息

     The activator org.example.FooActivator for bundle org.example.foo is invalid 
    

    ClassNotFoundException


    penguru 添加:

    • 如果该类来自尚未“激活”的另一个插件,那可能是你的问题。

    基本建议:在 start() method Activator 而不是它的构造函数。

        2
  •  3
  •   A Nair    15 年前

    修改类路径后,尝试清理、重新构建和重新运行。它应该工作……希望。。

        3
  •  2
  •   Jared    15 年前

        4
  •  1
  •   Peica    15 年前

        5
  •  1
  •   Guu    14 年前

    我花了一些时间来解决这个问题。最后,我注意到ClassNotFoundExceptions与我的代码不一致,它们来自错误的(旧的)包。我检查了是否有其他插件干扰了我的调试/导出,确实有,我自己的插件!

    • 删除包/插件的所有实例并重新启动

    如果你感到沮丧和困惑,另一个值得一看的好网站是: http://www.eclipsezone.com/eclipse/forums/t99010.html

        6
  •  1
  •   Matthias H    12 年前

    在我的例子中,有一条消息“Activator..无效”,但在接下来的异常中,如果我没有更改某些内容,Bundle中会出现ClassNotFound异常。。

    增加

    Bundle-ManifestVersion: 2
    

    Bundle-ManifestVersion: 3
    

    一切正常:)

        7
  •  1
  •   Roland    12 年前

    此致

        8
  •  1
  •   VonC    9 年前

    如果您以另一个包中的包命名包,也可能发生这种情况。

    • 如果你有 Bundle A org.my.package.name.function ,
    • 你创造 bundle B ,
      • =>则系统可以在那里寻找激活器,但找不到任何激活器。
        9
  •  0
  •   penguru    16 年前

    我找到了错误的原因。当我尝试从激活器类的构造函数中的任何其他类创建新对象时,就会发生错误。在插件的激活器中创建对象是合法的吗?

        10
  •  0
  •   Matt Warrick    14 年前

    然而,通过禁用插件的延迟加载,它得到了修复。在GUI中打开 概述 MANIFEST.MF 编辑器取消选中 。或直接在 显示。中场 删除行

    Bundle-ActivationPolicy: lazy
    
        11
  •  0
  •   koppor    13 年前

    另一个明显的问题是:如果你更改了源文件的路径(例如src/到src/main/java),但忘记更新build.properties,编译总是会成功,但你的插件永远不会工作。

        12
  •  0
  •   Christian    13 年前

    我也有同样的错误,在我的例子中,我创建了自己的带参数的构造函数。但我没有提供默认构造函数。因此,在删除我的构造函数并在start()方法中初始化所有内容后,它的工作原理很好。

        13
  •  0
  •   anh    11 年前

    我也遇到了同样的错误。捆绑包XX的激活器XX无效,并且出现ClassNotFoundException。

    因此,创建com.hh.jar肯定有问题。

    如果com.hh.jar引用了其他插件,那么也要检查它们。

    我通过编辑MANIFEST解决了这个问题。MF。 通过插件清单编辑器打开它,在运行时选项卡中,在“导出包”中添加所需的包。

        14
  •  0
  •   keesp    10 年前

    我在“打包”普通jar文件时也遇到过这个问题。如果某些依赖关系未得到解决,或者jar依赖于比您使用的JAVA版本更高的JAVA版本,则激活器将不会启动,从而出现上述异常。确定这是否是问题的快速方法是从捆绑包类路径(清单的运行时选项卡)中删除jar,并检查激活器是否能正确运行。