0

我通过在现有的 flex 应用程序中添加一些新功能来发现 flex 世界和 maven,我肯定做错了什么,但我不知道是什么。我正在使用 flexmojo 来管理 flex 编译,当我尝试激活其他语言(西班牙语、意大利语或塞尔维亚语)时出现一些错误。它就像法语德语和英语的魅力

这是我的 pom.xml :

<configuration>
    <targetPlayer>10.0.0</targetPlayer>
    <incremental>true</incremental>
    <verboseStacktraces>false</verboseStacktraces>
    <optimize>true</optimize>
    <showWarnings>false</showWarnings>
    <debug>false</debug>
    <strict>true</strict>
    <compiledLocales>
        <locale>fr_FR</locale>
        <locale>es_ES</locale>
        <locale>de_DE</locale>
        <locale>it_IT</locale>
        <locale>en_US</locale>
        <locale>rs_SR</locale>
    </compiledLocales>
    <themes>
        <theme>${project.build.directory}/generated-resources/flex/themes/spark-theme.css</theme> 
        <theme>${project.build.directory}/generated-resources/flex/themes/halo-theme.swc</theme>
    </themes> 
    <!-- il faut indiquer ou est le fichier services-config.xml -->
    <services>${project.build.directory}/generated-resources/flex/services-config.xml</services>
    <!-- url context de l'application java qui sera appelee-->
    <contextRoot>idApp</contextRoot>
    <useNetwork>true</useNetwork>
    <allowSourcePathOverlap>true</allowSourcePathOverlap>
    <sourcePaths>
        <path>${basedir}/src/main/resources/locale/{locale}</path>
        <path>${basedir}/src/main/flex/</path>
        <path>${basedir}/src/test/</path>
    </sourcePaths>
    <sourceFile>idApp.mxml</sourceFile>
    <skipTests>true</skipTests>
</configuration>

在我的 config.xml 文件中,我使用相同的语言:

<?xml version="1.0" encoding="UTF-8"?>
<IDTRELConfig>
    <service endpoint="http://localhost:8080/idApp/messagebroker/amf" />
    <languages>
        <fr enable="true" />
        <en enable="true" />
        <es enable="true" />
        <de enable="true" />
        <it enable="true" />
        <sr enable="true" />
    </languages>
</IDTRELConfig>

当我在 eclispe 中执行以下命令时:

clean install -Dmaven.test.skip -Dmaven.javadoc.skip

我收到以下错误:

    ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.200 s
[INFO] Finished at: 2015-03-11T18:24:45+01:00
[INFO] Final Memory: 15M/220M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:3.8:compile-swf (default-compile-swf) on project idApp: Failure to find com.adobe.flex.framework:datavisualization:rb.swc:rs_SR:4.1.0.16076 in http://download.java.net/maven/2 was cached in the local repository, resolution will not be reattempted until the update interval of java.net2 has elapsed or updates are forced
[ERROR] 
[ERROR] Try downloading the file manually from the project website.
4

1 回答 1

1

请使用语言环境链。问题是您正在定义一种语言,flex-framework 默认情况下没有语言环境。因此,一旦编译器想要包含 flex 资源包的塞尔维亚语言环境,它就会抱怨。最简单的解决方案是将英语设置为塞尔维亚语中不可用的任何资源的后备。

<compiledLocales>
    <locale>fr_FR</locale>
    <locale>es_ES</locale>
    <locale>de_DE</locale>
    <locale>it_IT</locale>
    <locale>en_US</locale>
    <locale>rs_SR,en_US</locale>
</compiledLocales>

这样,编译器将在您提供它的地方使用塞尔维亚语,并在您缺少塞尔维亚语资源的地方使用美国英语。

有关详细信息,请参见此处:https ://cwiki.apache.org/confluence/display/FLEX/Adding+I18N+support+to+your+application了解详细信息

于 2015-07-29T13:38:07.323 回答