Импорт файла / каталога в 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.

Другие вопросы по тегам