Разрешить классы 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>
Другие вопросы по тегам