Как настроить несколько исходных папок в одном проекте Eclipse? - PullRequest
17 голосов
/ 05 февраля 2009

У меня есть несколько отдельных программ, которые концептуально могут вписаться в один проект Однако у меня возникают проблемы с тем, чтобы 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 и ProgramB do кажется, что они должны быть проектами Java (они могут также использовать различные зависимости сборки), но я не вижу способа в Eclipse 3.3 создать две папки в UberProject, которые предназначен для содержания кода Java. Я думал о добавлении файла .project к каждому из двух подпроектов, но я не уверен, что это тоже подходит. Помощь по Eclipse бесполезна, и я ничего не видел в SO об этой конкретной проблеме.

Просто чтобы прояснить: примите как данность необходимость существования UberProject. UberProject может быть проектом Java или нет; это не важно (Между прочим, он содержит другие папки, которые не содержат код Java.)

Ответы [ 4 ]

17 голосов
/ 05 февраля 2009

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

1) UberProject - это ваш JavaProject. Щелкните правой кнопкой мыши ProgramA -> Build Path -> Use as source folder. Щелкните правой кнопкой мыши ProgramB -> Build Path -> Use as source folder. И ProgramA, и ProgramB будут выполнять инкрементные сборки в одном и том же каталоге.

2) Два Java-проекта (ProgramA и ProgramB). Вы можете использовать UberProject в качестве рабочего пространства затмения, что будет проще всего, или вы можете использовать внешнее рабочее пространство и импортировать ProgramA и ProgramB в качестве внешних проектов.

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

9 голосов
/ 05 февраля 2009

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

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

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

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

2 голосов
/ 05 февраля 2009

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

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

Вы можете иметь один проект Java и определить несколько исходных папок для него. Обычно это делается для иерархий "main" и "test" в одном проекте.

Есть способы и способы. Выберите тот, который работает для вас: -)

2 голосов
/ 05 февраля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...