Программно создать проект 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);