Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
Apache flex 是否有在SWC组件中嵌入元数据(如版本、许可证)的标准化方法?_Apache Flex_Flash_Metadata_Components_Swc - Fatal编程技术网

Apache flex 是否有在SWC组件中嵌入元数据(如版本、许可证)的标准化方法?

Apache flex 是否有在SWC组件中嵌入元数据(如版本、许可证)的标准化方法?,apache-flex,flash,metadata,components,swc,Apache Flex,Flash,Metadata,Components,Swc,场景:有一个Adobe Flex 3项目,它以SWC文件的形式使用多个第三方库和组件 我们如何知道那些SWC文件中的“内容”?具体来说,如何确保项目使用所有这些组件的最新版本 根据“您可以定义”(原文如此)您要打包和分发的组件的版本属性。大致如下: private static const version:String = '1.0.0.42'; 但是Adobe的创作工具并没有以任何特殊的方式处理该属性,而且我怀疑社区并不普遍使用它 所有SWC组件中的文件catalog.xml似乎不包含任何有

场景:有一个Adobe Flex 3项目,它以
SWC
文件的形式使用多个第三方库和组件

我们如何知道那些
SWC
文件中的“内容”?具体来说,如何确保项目使用所有这些组件的最新版本

根据“您可以定义”(原文如此)您要打包和分发的组件的
版本
属性。大致如下:

private static const version:String = '1.0.0.42';
但是Adobe的创作工具并没有以任何特殊的方式处理该属性,而且我怀疑社区并不普遍使用它

所有
SWC
组件中的文件
catalog.xml
似乎不包含任何有用的内容


分发
SWC
的开发人员是否通常以任何方式在这些文件中嵌入元数据?有没有一种标准化的方法可以从
SWC
文件中检索版本、许可证、作者和版权等数据?

您提出了一个有趣的观点

Adobe提供了一种在SWF(因此也包括SWC)中包含基本元数据的方法,但这种方法存储在二进制文件中,如果不进行反编译,就无法提取基本元数据

有趣的是,如果知道如何读取SWF,提取元数据就相当容易了。但大多数时候,它并不包含任何有用的信息,因为显然,创作工具不允许您简单地查看它


因此,我想首先我们需要在我们的创作工具中进行一些集成,然后我们可以开始在元数据中找到有用的信息:)

SWC通常与其他支持文件(如文档和示例)一起分布在一个包中。版本、许可证和作者信息通常作为该软件包的一部分在单独的自述文件或许可证文件中提供。我从未见过Flex Word中的组件开发人员将这类信息编译成SWC本身。

< P>我认为在SWC文件本身中包含版本名是一个好的做法。例如,如果使用Mate框架,则swc文件名类似于Mate_08_5.swc。快速浏览一下,您可以看到您使用的是0.8.5版


就许可证而言,通常在包含.swc文件的.zip中分发许可证文本文件。

您可以查看RSL摘要。它们将不同的哈希值附加到特定库的每个版本(catalog.xml文件中的swc/library/libraries/digests)。然后,您所要做的就是只加载具有已知摘要值的库


如果您对正在使用的SWC文件没有任何控制权,并且它们没有使用摘要,那么您可能会被供应商正在使用的任何专有版本控制系统所困扰。

谢谢您,Philippe。关于可包含在
SWF
中的元数据的文档在哪里?