RegistryItemLoader.LoaderException时aviarc插件命名空间

我一直在工作与它自己的新的widget新的应用程序,但是当我把一个widget命名空间(条件)在从以前的应用程序编译器开始给我的错误:RegistryItemLoader.LoaderException时aviarc插件命名空间

RegistryItemLoader.doPreLoadChecks(RegistryItemLoader.java:154): RegistryItemLoader.LoaderException: ResourceDirectory does not contain a definition.xml file

在旧的应用程序中,小部件工作正常。

在新的应用程序窗口小部件目录的目录结构如下:

widgets/add-dependency/widget files

widgets/au.com.aviarc.widget.condition/1.0.0/widgets/is-enabled/widget files

回答:

遗留的文物没有命名空间,并且是在样式:

widgets 

- grid

- - definition.xml

- text-dynamic

- - definition.xml

Namespaceable文物来到在Aviarc 3中,他们在风格:

widgets 

- example.namespace

- - 1.0.0

- - - widgets

- - - - grid

- - - - - definition.xml

- - - - text-dynamic

- - - - - definition.xml

Aviarc 3仍然支持遗留的工件,但它是以全有或无全的方式。如果Aviarc 3检测到工件目录中的任何遗留工件(如通过查看任何直接子目录中是否有任何definition.xml文件所做的那样),它会尝试以传统模式采用整个工件目录。

在您提供的目录结构中,添加依赖项窗口小部件是一个传统窗口小部件,因此Aviarc尝试将所有窗口小部件作为传统窗口小部件。该错误是由于它试图读取au.com.aviarc.widget.condition目录中的definition.xml文件而导致的,并且因为它不是传统小部件而没有。

这个问题的解决方案是要么:

  • 移动所有遗留的文物到一个命名空间
  • 更改所有命名空间的文物到传统文物

前者的解决方案是推荐的一个。如果在命名空间内有多个特定工件的版本,后者可能是不可能的,并且通常需要对应用程序进行更多的更改。

对于前者,首先将遗留工件移动到应用程序1.0.0名称空间中,因为这是由引擎隐式授予的名称空间,所以任何特定于名称空间的环境都已经指着它。应用程序1.0.0名称空间还保留了遗留工件的行为,因为它中的工件将自动覆盖内置工件,除非明确指定了内置版本。

所以你看想改变目录结构:

​​3210

如果路径感觉它变得有点长,有哪些可以移出个人的一些遗留的神器子目录小部件并与名称空间的小部件目录一起设置。一些例子是src和lib目录 - 我个人不确定整个列表是什么,如果甚至存在对它们的限制(当然,有些工件总是可能会在其下找到目录,当然,在这种情况下,它们不应该被移动)。

以上是 RegistryItemLoader.LoaderException时aviarc插件命名空间 的全部内容, 来源链接: utcz.com/qa/261361.html

回到顶部