2017-04-05 9 views
0

자원 내 plugin.xml에는문제는 내가</p> <pre><code>source.. = src/main/java, src/main/resources output.. = bin/ bin.includes = plugin.xml, META-INF/, </code></pre> <p>플러그인 내 이클립스 build.properties에 따라 한 폴더

<?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> 
       . 

그리고 프로젝트의 다음과 같은 구조입니다

enter image description here

다음 코드로 이미지를로드하려고하면 null이 있습니다. 포인터 예외.

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"); 

봐. 나는 모든 png 파일에 실제 이름이 있습니다. 하지만 왜 그것을 고칠 수 있습니까? 감사 블라디미르

답변

1

당신은 당신의 build.propertiesbin.includes 섹션에서 resources 폴더를 포함해야합니다.

resources 폴더는 src 폴더가 아니라 프로젝트의 최상위 수준에 놓는 것이 일반적입니다. 이 경우 build.properties은 다음과 같습니다

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

그리고 당신은 당신의 코드에서 resources/myimage.gif 같은 경로를 사용합니다.

+0

그래서 아이콘/dev/Config_Dev_icon.png 대신 resources/icons/dev/Config_Dev_icon.png를 사용해야합니다. 그렇지 않습니까? –

+0

이미지가 무엇인지 정확하게 말하지 않았으므로 그 대답에 답할 수 없습니다. 원하는 경우 최상위 폴더로'icons'를 사용할 수 있습니다. 중요한 점은 bin.includes에 나열되어야한다는 것입니다. –

+0

불행히도 작동하지 않습니다. 문제가 될 수있는 곳은 어디입니까? –