Разрешить классы maven зависимостей в затмении
Рассмотрим следующую иерархию зависимостей:
Теперь у меня есть maven-jibx-plugin
в проекте D
который генерирует скомпилированные классы в target/classes
папка. Но когда я бегу spring-boot
проект A
сгенерированные классы из проекта D
не может быть решена. Разрешение зависимостей из рабочей области также проверяется в maven настройках проекта. A
2 ответа
Мне кажется, что Eclipse и Maven не признают проект D как связанный проект.
Есть два возможных решения:
В Eclipse вы можете добавить проект D как зависимый проект к пути сборки проекта A. Перейдите в диалог свойств проекта. Выберите Java Build Path, а затем переключитесь на вкладку Projects. Там вы должны добавить проект D.
Или же вы полагаетесь на управление зависимостями Maven. Поэтому вы должны добавить зависимость в POM-файл проекта А. Сначала добавьте
<dependency>
(если еще не сделано) к<dependencies>
раздел. Теперь важная часть! Maven может разрешить эту зависимость, только если вы установили скомпилированный артефакт maven (файл jar) в локальный репозиторий maven. В командной консоли перейдите в каталог проекта D и запуститеmvn install
Я надеюсь, что сделал свое дело.
Вы пытались добавить сгенерированную исходную папку как исходную папку в eclipse? Вы можете сделать это из eclipse (щелкните правой кнопкой мыши на сгенерированных источниках или в любой папке в нем> Build Path > Use as Source Folder) или вы можете использовать вспомогательный плагин maven build, добавив что-то вроде ниже в ваш pom.xml
<!-- MAVEN ADD GENERATED-SOURCES TO CLASSPATH -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${maven.plugin.build-helper.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources/annotations</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>