2010-03-09 4 views
1

Nous avons une application flex qui compile bien sur Windows Box en utilisant la tâche mxmlc ant mais quand nous essayons d'exécuter les mêmes scripts de construction sur linux, il lance le ' Erreur de directive incorporée dans la feuille de style indiquant qu'il n'est pas capable de résoudre le chemin d'accès aux fichiers imageFlex 3 css embed lance l'erreur "Invalid Embed directive in stylesheet" sur linux

Est-ce que quelqu'un peut me renseigner s'il y a une différence dans la façon dont les fichiers d'images sont recherchés, dans un CSS fichier, sur windows vs linux.

Flex version 3.3 est sdk. Le même sdk est utilisé sur windows et linux. Je ne sais pas si cela a été fixé par tout sdks 3.x futurs.

Merci d'avance.

+0

Avez-vous l'étui correct? (la sensibilité à la casse) – adamcodes

+0

merci Adam, oui, j'ai vérifié tous les noms de fichiers pour le cas correct. Nous référençons toutes les images incorporées dans le fichier css avec des chemins absolus (par exemple /assets/images/buttondown.png) – Tejas

+0

Est-ce vraiment un problème avec le chemin dans la feuille de style, et pas un chemin dans le fichier Ant (comme un chemin vers la feuille de style)? J'ai eu des problèmes avec les chemins d'accès aux fichiers dans ant étant différents entre les plates-formes (les chemins d'accès Linux fonctionnent multi plate-forme, les fenêtres ne le font pas) – mattbilson

Répondre

0

Nous avons eu des problèmes similaires à préparer notre projet de construction avec une tâche de fourmis. Nous développons sous Linux. Dans Flex Builder, il n'y a eu aucun problème pour trouver des images - juste un chemin ajouté. Avec la tâche de fourmi bien eu des problèmes.

Résolution des problèmes en copiant toutes les images nécessaires dans le sous-répertoire src/images créé temporairement. Alors le compilateur ne se plaignait plus. Après la construction, ant supprime mon répertoire temporaire.

0

Je me heurtais à ce problème hier. La solution que j'ai utilisée était de simplement copier temporairement le fichier .css à la racine du répertoire src afin que le chemin d'intégration corresponde pendant le processus de compilation. Suivez comment le fichier .css actuel est copié dans un "target.css" dans le script ci-dessous:

<target name="compile css"> 

    <copy file="${css-dir}/${css}.css" 
      tofile="${resources}/target.css"/> 

    <java jar="${FLEX_HOME}/lib/mxmlc.jar" 
      fork="true" 
      failonerror="true" 
      > 

     <arg value="-debug=false"/> 
     <arg value="-optimize=true"/> 

     <arg value="+flexlib=${FLEX_HOME}/frameworks"/> 

     <arg value="${resources}/target.css"/> 
     <arg value="-output=${css-output}/${css-swf}.swf"/> 

     <arg line="${libraryPathArgumentLine}"/> 

     <arg value="-static-link-runtime-shared-libraries=true"/> 

    </java> 

    <delete file="${resources}/target.css"/> 
</target>