Intereting Posts

Как решить эту проблему зависимости от проекта Android?

У меня есть следующие проекты под Eclipse:

A (Android Project) => B (Java Project) => C (Java Project)

Где символ «=>» указывает, что проект слева от символа зависит от проекта справа от символа, а путь сборки проекта B всегда включает проект C при любых обстоятельствах.

Если я включу оба проекта B и C в путь сборки проекта A, A будет работать без проблем.

Однако, если я включаю проект B без включения проекта C в путь сборки проекта A, A сбой при запуске.

Существует ли альтернатива решению вышеупомянутой проблемы без включения проекта C в путь сборки проекта A, поскольку нет прямой зависимости между A и C?

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

Librairy из проекта C следует экспортировать по проекту B.

http://www.informit.com/articles/article.aspx?p=367962 раздел 6.1.4

С уважением, Стефан

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

Все должно быть включено, иначе вы получите classnotfound исключения. Вы всегда можете создать Project C в JAR-файле и включить его в свой путь к lib, а затем вам не придется иметь зависимость от проекта. Постройте проект B в файл Jar, и вы можете разработать свой проект Android без каких-либо ссылок на любые проекты Java eclipse.

Подумайте об этом таким образом, если вы загрузите файл jar, например, Farmors super lib far.jar, и у моей библиотеки есть другие зависимости, которые вы должны получить для них, и там зависимости и т. Д. Рекурсивно, поэтому у нас есть предварительные инструменты, такие как maven для обработки всего этого Зависимость беспорядок.

Я думаю, что наилучшим решением в вашем случае является переход вашего проекта на использование таких инструментов, как maven или плющ . Эти инструменты помогут вам справиться с такими проблемами, которые связаны с управлением зависимостями. Конечно, эти инструменты предоставляют гораздо больше функций, например, улучшают процесс сборки, фильтруют ресурсы, автоматически развертывают артефакты, создают отчеты и т. Д.

Я много работаю с maven, и я пытаюсь объяснить, как я пытаюсь решить проблему в вашем случае. Прежде всего, вы можете ошеломить все наши проекты (в том числе Android one) и определить взаимосвязь между вашими проектами (зависит от B , кто зависит от C ), только, установив самый важный проект для проектов maven, «pom .xml '.

В [этой ссылке] [3] вы можете прочитать о механизме введения в зависимость . Идея проста: вам нужно определить организацию того, что требует каждый проект, который может быть артефактами или библиотеками по сети. Maven загрузит все и построит каждый проект. В вашем случае, вероятно, вам нужно будет построить проект C, который автоматически (после его правильной настройки) будет использоваться проектом B и т. Д. A.

Обратите внимание на то, как управлять зависимостями, потому что это ключ.

Кстати, в проекте Android, вероятно, вам нужно будет использовать [Android maven plugin] [4], который идеально подойдет для ваших целей.

Удачи!