如何在IntelliJ IDEA中的3个项目(模块)中设置共享源文件夹?

时间:2014-06-23 14:43:42

标签: actionscript-3 intellij-idea flash-builder shared-libraries multiple-projects

我在Adobe Flash Builder中有这样的项目设置: (试图尽我所能说明)

enter image description here

基本上, GameProj TitleProj 被编译到他们自己的SWF中。它们每个都有自己特定的源文件夹(src- nameofproject ),以及链接到 LoaderProj 使用的常用文件夹。

此外, GameProj 也引用 TitleProj 中的一些类,因此它还将源路径链接到Title自己的源文件夹( src-title) ,在这种情况下)。

然后, LoaderProj 被设置为“嵌入” gameproj.swf titleproj.swf 作为ByteArrays,它加载在运行时(使用Loader.loadBytes()

但现在我想知道如何在IntelliJ IDEA中设置这个复杂的多项目场景?

我尝试将Flash Builder工作区导入IntelliJ,但是当我尝试配置项目结构设置时,它一直告诉我模块之间存在源文件夹冲突。

我怎样才能解决这个问题?我怎样才能以同样的方式编译它?

1 个答案:

答案 0 :(得分:0)

抱歉,这不是您问题的实际答案,而是重新解决您的问题: 我实际上没有看到编译两个不同swfs的原因,并将它们嵌入第三个,如果LoaderProj.swf确实是你最后使用的唯一swf?

通过在几个swfs中包含相同的源文件夹src,src-title,您将重新编译相同类的2或3倍。它会花费你更多的编译时间,更多的编译(3个调用)和更复杂的项目,在最终的swf中更多的大小,如果你碰巧嵌入旧版本的子版本,可能不同步的相同类的几个定义swfs,这可能会或不会覆盖根swf定义,具体取决于您在其中加载子swfs的ApplicationDomain。

此外,在从字节数组加载嵌入式swf时,添加运行时swf解码开销,为共享类的重复定义加载内存占用。

我宁愿保持简单,直接用所有源文件夹编译LoaderProj.swf,并通过简单的实例化替换Loader.loadBytes()。 new GameProjMainClass;new TitleProjMainClass;(替换为子项目的实际当前主要类别)

如果它们没有嵌入到同一个最终的swf中,并且按需加载,那么多swf设置可能是相关的,但是这里就像你正在获得两个世界中最糟糕的(单个swf嵌入你需要的一切VS动态swf加载)