Программно создать проект Eclipse

Я использую Eclipse для работы над приложением, которое изначально было создано независимо от Eclipse. Таким образом, структура каталога приложения явно не подходит для затмений.

Я хочу программно сгенерировать проект для приложения. .project а также .classpath файлы достаточно легко понять, и я узнал, что проекты хранятся в рабочей области под <workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects

К сожалению, некоторые из файлов здесь (особенно .locationКажется, что они закодированы в каком-то двоичном формате. На догадке я попытался десериализовать его, используя ObjectInputStream - без кости. Так что это не похоже на сериализованный объект Java.

У меня вопрос: есть ли способ генерировать эти файлы автоматически?

Для любопытных ошибка, которую я получаю, пытаясь десериализовать .location Файл следующий:

java.io.StreamCorruptedException: java.io.StreamCorruptedException: invalid stream header: 40B18B81

Обновление. Моя цель - заменить мастер создания нового проекта Java сценарием или программой командной строки. Причина в том, что рассматриваемое приложение на самом деле является очень большим J2EE/weblogic приложением, которое мне нравится разбивать на большую (почти 20) коллекцию подпроектов. Сложные вопросы, мы используем clearcase для SCM и создаем новую ветвь для каждого выпуска. Это означает, что мне нужно воссоздавать эти проекты для каждого вида разработки (ветви), который я создаю. Это происходит достаточно часто, чтобы автоматизировать.

2 ответа

Решение

Вы должны быть в состоянии сделать это, написав небольшой плагин Eclipse. Вы даже можете расширить его до того, чтобы быть "безголовым" RCP-приложением, и передать необходимые аргументы командной строки.

Базовый код для создания проекта:

IProgressMonitor progressMonitor = new NullProgressMonitor();
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject("DesiredProjectName");
project.create(progressMonitor);
project.open(progressMonitor);

Достаточно взглянуть на код затмения для мастера импорта проекта, чтобы дать вам лучшее представление о том, где его использовать.

Используйте AntEclipse

Он может создавать проекты затмения из муравья.

Чтобы создать проект Java, вы можете использовать JavaCore из org.eclipse.jdt.core.JavaCore. КакsourceProject вы можете использовать общий элемент проекта, который был предложен @James Van Huis

IJavaProject javaSourceProject = JavaCore.create(sourceProject);
Другие вопросы по тегам