2017-04-05 2 views
0

je suit build.properties dans mon plug-in EclipseProblèmes avec chemin de ressources dossier

source.. = src/main/java,\ 
      src/main/resources 
output.. = bin/ 
bin.includes = plugin.xml,\ 
       META-INF/,\ 

Mon plugin.xml est

<?xml version="1.0" encoding="UTF-8"?> 
<?eclipse version="3.4"?> 
<plugin> 

<extension 
     point="org.eclipse.ui.decorators"> 
    <decorator 
      adaptable="true" 
      class="com.idc.xtext.shared.XtextFileDecorator" 
      id="com.idc.xtext.shared.xtextFileDecorator" 
      label="label" 
      lightweight="false" 
      location="REPLACE" 
      objectClass="org.eclipse.core.resources.IFile" 
      state="true"> 
    </decorator> 
</extension> 
</plugin> 
       . 

et la structure suivante du projet

Lorsque j'essaie de charger l'image avec le code suivant, j'ai null. enter image description here

exception de pointeur.

private static void putInIconMap(
      HashMap<String, Image> pIconsMap, String pEnv, String pIconPath) { 
     ImageDescriptor fromPlugin = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, 
         pIconPath); 
     try { 

      Image createImage = fromPlugin.createImage(); 
      pIconsMap.put(pEnv, createImage); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

....

putInIconMap(dirsIconsMap, DEV, "icons/dev/Dirs_Dev_icon.png"); 

ressembler à un problème avec le chemin du fichier. J'ai vérifié, tous les fichiers PNG ont un nom réel Mais pourquoi et comment puis-je le réparer? Cordialement, Vladimir

Répondre

1

Vous devez inclure le dossier resources dans la section bin.includes de votre build.properties.

Il est normal de placer le dossier resources au premier niveau du projet, et non dans le dossier src. Dans ce cas, le build.properties serait:

source.. = src/main/java 
output.. = bin/ 
bin.includes = plugin.xml,\ 
       META-INF/,\ 
       resources/, 
       . 

Et vous pouvez utiliser un chemin comme resources/myimage.gif dans votre code.

+0

J'ai donc besoin d'utiliser resources/icons/dev/Config_Dev_icon.png au lieu de icons/dev/Config_Dev_icon.png, n'est-ce pas? –

+0

Vous ne nous avez rien dit sur exactement ce que sont vos images, donc je ne peux pas répondre à cela. Vous pouvez utiliser 'icons' comme dossier de premier niveau si vous le souhaitez. L'essentiel est qu'ils doivent être listés dans le bin.includes. –

+0

Malheureusement, ça ne marche pas. Où peut-être un problème? –