Создание Java-проектов с круговым импортом в Eclipse - PullRequest
3 голосов
/ 10 марта 2010

У меня есть устаревшее приложение Java (не на родном языке), которое я пытаюсь создать в Eclipse Galileo.

Поскольку это не мое, я не могу говорить о качестве дизайна, но я сталкиваюсь с рядом случаев, когда у меня будет что-то вроде этого:

В проекте, который называется, скажем, "lib_a", у меня будет файл, содержащий это:

import com.acme.lib_b.onething;

С другой стороны, проект "lib_b" будет содержать:

import com.acme.lib_a.anotherthing;

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

Мне кажется, что это должно быть довольно распространенным явлением при создании Java-приложений. Переписать его с нуля здесь не вариант, поэтому я хотел бы знать, «что делают другие».

Ответы [ 4 ]

4 голосов
/ 10 марта 2010

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

Проект: -> Свойства -> нажмите на вкладку «Проекты», нажмите «Добавить», и у вас будет опция любого открытого проекта. Дополнительно затмение отслеживает их, чтобы при открытии «А» связанного проекта » Б "открывается.

2 голосов
/ 10 марта 2010

В основном признак плохого дизайна.Возможные решения

  • есть общие части в 2 библиотеках, которые должны быть преобразованы в "общую" библиотеку
  • обе библиотеки на самом деле являются 2 половинками одной библиотеки и должны объединяться
  • одна библиотека полагается на "внутренние компоненты" другой библиотеки, и для преодоления этой плохой зависимости следует ввести несколько интерфейсов
2 голосов
/ 10 марта 2010

Может быть, если одно и другое не являются основными частями каждого проекта (например, служебные классы), вы можете переместить одно в другой проект, чтобы ссылки были односторонними, или создать общий util.jar. *

В противном случае я бы объединил проекты, если они в значительной степени взаимосвязаны.

1 голос
/ 10 марта 2010

Я бы просто объединил их в один проект.

Если вы не можете использовать A без B, и вы не можете использовать B без A, имея отдельные JAR-файлы, не кажется очень полезным.

...