2009-02-04 3 views
17

У меня есть несколько несколько отдельных программ, которые концептуально могут вписываться в один проект. Однако у меня возникают проблемы с тем, что Eclipse создает несколько папок внутри папки проекта.Как настроить несколько исходных папок в рамках одного проекта Eclipse?

Простая форма конструкции будет:

/UberProject 
/UberProject/ProgramA/ 
/UberProject/ProgramA/com/pkg/NiftyReader.java 
/UberProject/ProgramB/ 
/UberProject/ProgramB/com/pkg/NiftyWriter.java 

То есть, ProgramA и ProgramB оба проекта (на самом деле, они в настоящее время существующие Java-проекты), которые концептуально вписываются в UberProject.

Я не думаю, что я должен сделать UberProject проектом Java; например, это не classpath. ProgramA и ProgramBdo похоже, что они должны быть Java-проектами (они могут также использовать разные зависимости построения), но я не вижу в Eclipse 3.3 возможности создать две папки под UberProject, которые предназначены для размещения Java-кода. Я думал о добавлении файла .project к каждому из двух подпроектов, но я не уверен, что это подходит. Помощь Eclipse не помогает, и я ничего не видел в SO об этой конкретной проблеме.

Только для того, чтобы быть ясным: предположим, что необходимо наличие UberProject. UberProject может быть проектом Java или нет; это не имеет значения. (Кстати, он содержит другие папки, которые не содержат Java-код.)

ответ

17

Есть, вероятно, несколько способов сделать это:

1) UberProject является вашим JavaProject. Щелкните правой кнопкой мыши ProgramA -> Путь сборки -> Использовать в качестве исходной папки. Щелкните правой кнопкой мыши ProgramB -> Путь сборки -> Использовать в качестве исходной папки. Оба ProgramA и ProgramB будут делать инкрементные сборки в один и тот же каталог.

2) Два проекта java (ProgramA и ProgramB). Вы можете использовать UberProject как рабочее пространство eclipse, которое было бы самым простым, или вы можете использовать внешнее рабочее пространство и импортировать ProgramA и ProgramB в качестве внешних проектов.

Возможно, существуют и другие способы (проект мультимодуля Maven). Вероятно, ваш выбор зависит от наличия циклических зависимостей между проектами. Было бы относительно легко попробовать 1 и 2 и посмотреть, что лучше всего подходит для вас.

+1

(1), кажется, работает, или, по крайней мере, приблизит меня. (По какой-то причине он отказывается использовать по умолчанию Java-конструктор.) Несмотря на мою интуицию, UberProject действительно должен был быть «Java-проектом». –

+2

... проблема Java Builder была исправлена ​​путем редактирования файла .project вручную. –

2

Вам нужен UberProject? У меня такой же макет, но у меня есть несколько проектов верхнего уровня, созданных с помощью проекта File | New. Если нет, можете ли вы сделать его проектом General, а не Java?

+0

Это необходимый проект, да; извините, если это было непонятно. В противном случае я бы просто использовал несколько отдельных Java-проектов. Я редактировал вопрос. –

2

Итак, вы можете сделать это, используя два Java-проекта в своем рабочем пространстве.
Тогда возникает вопрос о том, как сгруппировать два проекта вместе в разделе «UberProject»

Один из способов - создать рабочее пространство «UberProject» и переключить рабочие области между UberProjects. Альтернативой является определение «UberProject» в качестве рабочего набора (Window: Working Sets) и добавление PrmgramA и ProgramB в качестве проектов этого рабочего набора. Выберите этот рабочий набор, и вы увидите только те проекты.

У вас может быть один проект java и определить для него несколько исходных папок. Обычно это делается для «основных» и «тестовых» иерархий в рамках одного и того же проекта.

Существуют способы и способы.Выберите тот, который работает для вас :-)

9

Вы можете иметь несколько исходных каталогов в одном проекте, но ваше описание заставляет его звучать так, как будто вы хотите, чтобы в проекте выполнялось несколько подпроектов, которые не позволяют затмение (пока как я знаю).

Если вы действительно просто хотите несколько исходных каталогов, где ProgramA, ProgramB и т. Д. Содержат только файлы java и ничего больше, то вы можете сделать это относительно легко. Щелкните правой кнопкой мыши свой проект в проводнике пакетов и выберите Build Path -> Configure Build Path.... В появившемся диалоговом окне убедитесь, что в левой панели выделено Java Build Path, щелкните вкладку Source, затем нажмите кнопку Add Folder.... Выберите ProgramA из списка, и повторить для ProgramB и т.д.

Если вы хотите, чтобы каждая исходная папку, чтобы иметь свою собственную папку вывода, просто проверить Allow output folders for source folders флажок и редактировать выходные папки по желанию.

Если это не то, что вы хотите сделать, тогда другой вариант может состоять в том, чтобы сгруппировать ваши проекты в рабочий набор. Рабочий набор не является UberProject, но он помогает сохранить ваши проекты в пакете Explorer.

Смежные вопросы