Импорт файла / каталога в IJavaProject - Eclipse JDT
Так что я смог успешно сгенерировать IJavaProject из моего Eclipse-плагина, и теперь я хотел бы добавить пакеты к этому IJavaProject. Эти пакеты расположены в файловой системе и должны быть выбраны пользователем. Я создал две папки, "bin" и "src".
Я хочу иметь возможность добавлять файлы (в частности, каталог, содержащий пакеты) в мой проект так же, как если бы вы перетаскивали файлы в проект в Eclipse.
Как мне выполнить программную адаптацию этих файлов в формате Java Model, чтобы я мог добавить их в свой IJavaProject? Если бы я мог просто прочитать файл.java в модель, это было бы здорово.
Я думал, может быть, это как-то связано с IClasspath, но я действительно не смог найти какую-либо информацию об этом. Я могу не заметить это, однако.
Заранее спасибо.
1 ответ
После небольшого поиска по API я нашел решение.
Вы можете создать пакет из проекта, позвонив:
(Объявлено где-то...)
IFolder srcFolder = myJavaProject.getProject().getFolder("src");
Предполагая, что вы уже создали подходящую папку "src" в своем проекте.
IPackageFragment frag = myJavaProject.getPackageFragmentRoot(srcFolder)
.createPackageFragment("mypackage",false, null);
IFile newFile = ((IFolder)frag.getResource)).getFile(name);
FileInputStream fis = new FileInputStream(new File("myFile.java");
newFile.create(fis, false, null);
Вам не нужно объявлять файлы как ICompilationUnits или что-то подобное, потому что, если вы добавляете исходный файл Java в элемент, который уже объявлен как пакет, он автоматически распознает этот исходный файл как часть модели Java, или Экземпляр ICompilationUnit.