Netbeans Platform: InstalledFileLocator



我为一个模块添加了如下资源:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>nbm-maven-plugin</artifactId>
    <extensions>true</extensions>
    <configuration>
        <moduleType>eager</moduleType>
        <nbmResources>                     
            <nbmResource>
                <directory>${basedir}/resources</directory>
                <targetPath>resources</targetPath>
                <includes>
                    <include>*.db</include>
                </includes>
                <excludes>
                    <exclude>*trace*</exclude>
                </excludes>
            </nbmResource>
        </nbmResources> 
    </configuration>
</plugin>

该文件显示在Netbeans应用程序中:target/app name/app name/resources/card_manager.mv.db。看起来不错。

现在我试图得到文件的位置,如下所示:

File db = InstalledFileLocator.getDefault().locate("card_manager.mv.db",
                    "module.codename.base", false);

但是db总是null。任何想法?

试试下面的代码…

File file = InstalledFileLocator.getDefault().locate("myfile", null, false);
if (file == null) 
{
   file = new File(Places.getUserDirectory() + File. separator + "myfile");
}

或者您是否尝试过resources/card_manager.mv.db?我确信应用程序路径(应用程序名称)和集群名称(第二个应用程序名称)被排除在locate()之外,但我相信你必须包括资源/路径。

修改您的pom,以便将card_manager.mv.db复制到classes文件夹而不是resources文件夹,并从classloader获取文件

相关内容

  • 没有找到相关文章

最新更新