【问题标题】:Sharing source between 2 projects?在 2 个项目之间共享源代码?
【发布时间】:2023-03-29 06:58:01
【问题描述】:

我有一个项目,其中包含一个为 Web 设计的“全局”类的大包,我需要与一个新的移动项目共享这些类,但是当我添加它们时:

属性 -> Flex 构建路径 -> 源路径 -> 添加文件夹

它们开始出现在包名称之前的索引 [源路径],并且因为它们 Flash Builder 开始抛出错误消息:

“在源路径中找到的文件必须具有与定义的包‘全局’相同的包结构''。”

  • 我该如何解决这个问题?

【问题讨论】:

  • 您没有将这些“全局”类编译到库中是否有特殊原因?
  • 他们在内部共享了太多的 UI 组件。它不是很干净的设计。
  • 当您以“合并”的形式链接到库时,只有您使用的类实际上会编译到主应用程序中(以及它们所依赖的任何类)。
  • 这是个好主意,但如果可能的话,我必须保持这种方式。
  • RIAstar - 似乎创建一个库是最好的解决方案,请将其设置为答案,以便我接受。

标签: actionscript-3 apache-flex flash-builder flex4.5


【解决方案1】:

正如我们在 cmets 中所讨论的,我认为将“全局”类编译到 (.swc) 中会是一种更好的方法。
您担心加载不必要的类:当您以“merged”的形式链接到库时,实际上只有您使用的类被编译到主应用程序中(以及它们所依赖的任何类),所以没有需要担心。
作为最后一个论点,我还认为这是一种更灵活的方法。编译后的库更易于重用和版本化,因此可以更轻松地将代码分发给团队中的其他开发人员。

【讨论】:

  • 非常感谢。我已经成功地将代码分离到库中,并在 Web、Window、桌面和 iOS 应用程序之间共享。现在有 4 个独立的项目共享一个代码库:)
【解决方案2】:

通过右键单击->重构来重命名其中一个包。比应该工作。

如果没有,您也可以尝试让您的两个代码在同一个项目中可用,然后您可以通过右键单击该 .as 或 .mxml 文件并选择 set as 来选择要在 Flash Builder 中运行的代码。 ..(或类似的东西)

【讨论】:

  • 这是一个有趣的想法,但重构一个包名实际上并不起作用,而且似乎重命名它也不起作用:|,并且重命名/重构源文件不是一个选项
  • 您可以尝试将一个全局文件放到另一个项目下的新文件夹(例如 globalImported),然后在您的电脑上设置同步方法,将 globalImported 与其原始文件夹同步。
【解决方案3】:

我想如果你将包含“src”而不是“src/global”,这个问题就会消失。

【讨论】:

  • 不,我尝试了我想到的所有可用的“直接”方法。这是其中之一,但它似乎实际上不起作用。
猜你喜欢
  • 1970-01-01
  • 2011-02-09
  • 2020-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-11
  • 2014-07-05
相关资源
最近更新 更多