java - FileLocator 的 toFileURL 方法忽略空文件夹

标签 java eclipse eclipse-plugin osgi-bundle

this的帮助下和this通过从我的插件包中复制它,我成功地在项目中创建了大部分所需的文件结构。

URL templatesURL = Activator.getDefault().getBundle().getEntry(TEMPLATES_PATH);
File templatesFolder = new File(FileLocator.toFileURL(templatesURL).getPath());
copyFiles(templatesFolder, project, monitor);

我有两个文件夹TEMPLATES_PATH +“\test\java”,其中没有文件。我也希望创建这些,但他们没有。经过调查,我找到了 OSGi 提取包内容的文件夹:

C:\eclipse\configuration\org.eclipse.osgi\<number>\0\.cp

文件夹没有被提取!我可以创建一个空文件 "test\java\.touch" 或使用

手动创建文件夹
IFolder testFolder = project.getFolder(new Path("test"));
testFolder.create(true, true monitor);
testFolder.getFolder(new Path("java")).create(true, true monitor);

我可以使用这两种方法之一获得所需的结构,但我想知道:有没有办法让 FileLocator 提取文件夹?

最佳答案

看起来构建目录的代码是org.eclipse.osgi.storage.bundlefile.ZipBundleFile

我看不出有什么方法可以影响它对空目录的作用。

关于java - FileLocator 的 toFileURL 方法忽略空文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26235880/

相关文章:

android - apk文件名更改

eclipse - 如何在 JFace ComboViewer 中的条目上而不是在组合上添加工具提示

java - 传递给函数的列表可以被 Java 中的另一个线程修改吗?

java - JSTL 导入标签抛出带有相对 URL 的 java.lang.IllegalStateException

java - 使用 JAXB 在 Jersey RESTful API 的 JSON 输出中包含空元素

java - 访问内部微服务

eclipse - 如何创建 Intellij 和 Eclipse 兼容的代码风格和代码格式配置(针对 java 代码)?

php - Eclipse PDT 中的 xDebug 观察点?

java - 更改 eclipse 启动画面

plsql - Eclipse 的 PL/SQL 插件