java вопрос о зависимостях jar - PullRequest
0 голосов
/ 12 мая 2011

У меня есть проект, его основная часть (например, main.jar) зависит от библиотек (например, u1.jar, u2.jar и т. Д.), Который был создан как отдельные отдельные проекты.
Таким образом, можно использовать библиотеку в другом местет.е. нет никакой зависимости между библиотеками утилит и основной частью.
Основная часть, конечно, зависит от библиотек, но это нормально.
Теперь мне нужно добавить определенную функциональность в одну из библиотек.
Необходимая функциональность уже реализована.
Она реализована с помощью пружинного компонента, и пользователь может настроить поведение реализации во время выполнения.
Создается и используется контекст приложения пружины только через основной проект, и поэтому у меня нет доступа к контексту Spring из служебных библиотек.
Проблема в том, что я хотел бы повторно использовать эту реализацию (а не дублировать код), и невозможно переместить эту частьв другом месте
Что приходит на ум, это создать зависимость в этом конкретном случае.o обратитесь к main.jar.
Я сделаю это, чтобы иметь возможность получить доступ к контексту пружины также из утилиты jar.
Меня беспокоит то, что теперь у меня есть циклическая зависимость между main.jar и util.jar.
Т.е. main.jar уже зависит от util.jar, и теперь я также создам обратную зависимость.
Это хорошая идея, чтобы сделать это?Или у меня проблемы (проблемы с загрузкой классов и т. Д.)?
Есть ли хороший подход для решения подобных проблем?

Спасибо

Ответы [ 2 ]

0 голосов
/ 12 мая 2011

Как только вы видите, что у вас есть циклическая зависимость, вы знаете, что у вас что-то не так в дизайне. Задумывались ли вы, если вы можете применить Наблюдатель Pattern ? Или попробуйте прочитать об этом Ациклические Отношения

0 голосов
/ 12 мая 2011

создать интерфейс и позволить util.jar работать с интерфейсом с main.jar, передавая реализацию, которая просто переносит этот контекст?

циклическая зависимость выглядит как кошмар. Какой из них вы построите первым?

...