Я совершенно новый для 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 зависимость не наступает автоматически
ответ
Добавить log4j в свой путь к классу Eclipse. Commonutils.jar, если он следует модульности, продвигаемой maven, предоставляет только обычный класс utils и не предоставляет класс, связанный с его зависимостями.
Возможно, вам стоит подумать о том, чтобы обновить свой второй проект до проекта maven.
Когда я создаю свой первый проект, зависимость уже была там. Интересно, была ли уже зависимость, тогда целевая банка, созданная проектом 1, должна иметь такую зависимость, включаемую automaticall. Я исправлю здесь? – Sachin
Деп находится в maven repo, поэтому не в classpath. Когда вы пытаетесь построить второй проект, Eclipse имеет доступ только к классу, доступному в пути к классам. –
Мы согласны с тем, что вы добавили commonUtils.jar только в путь к классам. Когда вы это сделаете, класс, присутствующий в CommonUtils.jar, теперь доступен во время компиляции для вашей сборки проекта с помощью Eclipse. Теперь, если вы откроете эту банку и проверите каталоги классов, вы не найдете никакого .class, связанного с log4j. –
Каковы ошибки? –
Невозможно получить класс для log4j – Sachin
Ошибка Импорт org.apache невозможен. – Sachin