Программно создать проект Eclipse
Я использую 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 Java командой командной строки script или программой. Причина в том, что данное приложение является очень большим приложением J2EE/weblogic, которое я хотел бы разбить на довольно большую (почти 20) коллекцию подпроектов. Усложняя вопросы, мы используем clearcase для SCM и создаем новую ветвь для каждой версии. Это означает, что мне нужно воссоздать эти проекты для каждого вида разработки (ветки), который я создаю. Это достаточно часто для автоматизации.
Ответы
Ответ 1
Вы должны сделать это, написав небольшой плагин Eclipse. Вы даже можете расширить его до того, чтобы быть "безголовым" RCP-приложением, и передать необходимые аргументы командной строки.
Код barebones для создания проекта:
IProgressMonitor progressMonitor = new NullProgressMonitor();
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject("DesiredProjectName");
project.create(progressMonitor);
project.open(progressMonitor);
Просто взгляните на код затмения для мастера импорта проекта, чтобы дать вам лучшее представление о том, куда идти с ним.
Ответ 2
Используйте AntEclipse
Он может создавать проекты eclipse из ant.