资源文件夹路径问题

时间:2017-04-05 14:37:38

标签: java eclipse-plugin eclipse-pde

我在eclipse插件中有以下build.properties

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

我的plugin.xml是

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

当我尝试使用以下代码加载图像时,我有空指针异常。

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 个答案:

答案 0 :(得分:1)

您必须在resources的{​​{1}}部分中加入bin.includes文件夹。

build.properties文件夹置于项目的顶层,而不是resources文件夹中,这是正常的。在这种情况下,src将是:

build.properties

您可以在代码中使用类似source.. = src/main/java output.. = bin/ bin.includes = plugin.xml,\ META-INF/,\ resources/, . 的路径。