2016-11-18 2 views
-2

Я совершенно новый для Maven. У меня есть проект Maven. Когда я создаю выполнение с использованием mvn clean -e install, он создает исполняемый jar (commounutil.jar) для моего проекта в целевой папке. У меня нет другого проекта (project2) в Eclipse, который не является проектом Maven. Project2 использует функции и классы из commounutil.jar. Если я вручную добавлю исполняемый jar commounutil.jar в eclipse с помощью Java build path/add external jar. Но даже после добавления этой банки в моем проекте есть некоторые ошибки, связанные с log4j. Теперь, когда я создаю commounutil, зависимость для log4j уже была добавлена. Пока что он дает ошибку времени компиляции. Не могли бы вы рассказать мне, где я ошибаюсь?Maven Jar зависимость не наступает автоматически

+1

Каковы ошибки? –

+0

Невозможно получить класс для log4j – Sachin

+0

Ошибка Импорт org.apache невозможен. – Sachin

ответ

1

Добавить log4j в свой путь к классу Eclipse. Commonutils.jar, если он следует модульности, продвигаемой maven, предоставляет только обычный класс utils и не предоставляет класс, связанный с его зависимостями.

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

+0

Когда я создаю свой первый проект, зависимость уже была там. Интересно, была ли уже зависимость, тогда целевая банка, созданная проектом 1, должна иметь такую ​​зависимость, включаемую automaticall. Я исправлю здесь? – Sachin

+0

Деп находится в maven repo, поэтому не в classpath. Когда вы пытаетесь построить второй проект, Eclipse имеет доступ только к классу, доступному в пути к классам. –

+0

Мы согласны с тем, что вы добавили commonUtils.jar только в путь к классам. Когда вы это сделаете, класс, присутствующий в CommonUtils.jar, теперь доступен во время компиляции для вашей сборки проекта с помощью Eclipse. Теперь, если вы откроете эту банку и проверите каталоги классов, вы не найдете никакого .class, связанного с log4j. –