1

我知道这个主题有很多类似的问题和答案,但我仍然遇到同样的问题。到目前为止,我已经看过这个这个这个这个这个,等等......无济于事。

当我尝试在我的项目上运行 ANT 构建时,我总是会收到此错误。

    [mxmlc] Error: Unable to resolve resource bundle "resources" for locale "en_US".

BUILD FAILED
C:\***\flashWorkspace\shop\build.xml:8: The following error occurred while executing this line:
C:\***\flashWorkspace\Scripts\flex-build.xml:50: The following error occurred while executing this line:
C:\***\flashWorkspace\Scripts\flex-build.xml:123: mxmlc task failed

我的 build.xml:

<target name="compile" depends="common-build.compile">
    <antcall target="flex-build.compile-air-application"/>   // line 8
</target>

这将我们带到了我的 flex-build.xml (这是我将调用引发错误的宏的地方):

<target name="compile-air-application">
    <compileSWF>      // line 50
        <compiler-options>
            <load-config filename="${FLEX_HOME}/frameworks/air-config.xml"/>
        </compiler-options>
    </compileSWF>            
</target>

最后,包含错误 mxmlc 调用的宏本身:

<macrodef name="compileSWF">
    <element name="compiler-options" optional="yes"/>
    <attribute name="sourceDir" default="${src.dir}"/>
    <attribute name="libraryDir" default="${build.lib.dir}"/>
    <attribute name="buildDir" default="${build.dir}"/>
    <attribute name="locale" default="${locale}"/>
    <attribute name="applicationFile" default="${application.file}"/>
    <attribute name="outputFile" default="${swf.file}"/>
    <sequential>
        <delete file="@{buildDir}/@{outputFile}"/>
        <mxmlc file="@{sourceDir}/@{applicationFile}" output="@{buildDir}/@{outputFile}" locale="@{locale}">          //line 123
            <compiler-options/>
            <source-path path-element="@{sourceDir}"/>
            <compiler.library-path dir="@{libraryDir}" append="true">
                <include name="*.swc"/>
            </compiler.library-path>
        </mxmlc>
    </sequential>
</macrodef>

这些是我的编译器参数:

-locale=en_US,fr_FR -source-path=locale/{locale}

基本上我的文件夹结构是这样的

Proj 
  |-- src 
  |-- lib 
  |-- locale 
          |-- en_US
               |-- resources.properties     
          |-- fr_FR 
               |-- resources.properties 

谁能看到我的 ANT 版本有什么问题?如果您需要更多信息,我很乐意编辑并将它们添加到帖子中。我尝试了无数在网上找到的黑客方法:我整天都在尝试解决这个问题:/

提前致谢

4

1 回答 1

3

仅供遇到此问题的其他人使用,通过添加以下两个指令来解决:

            **<source-path>locale/{locale}</source-path>
            <include-resource-bundles>resources</include-resource-bundles>**

所以 mxmlc 看起来像这样

<mxmlc file="@{sourceDir}/@{applicationFile}" output="@{buildDir}/@{outputFile}" locale="@{locale}">
    <compiler-options/>
    <source-path>locale/{locale}</source-path>
    <include-resource-bundles>resources</include-resource-bundles>
    <source-path path-element="@{sourceDir}"/>
    <compiler.library-path dir="@{libraryDir}" append="true">
        <include name="*.swc"/>
    </compiler.library-path>
</mxmlc>
于 2013-01-22T14:07:22.597 回答