Разрешить классы maven зависимостей в затмении - PullRequest
0 голосов
/ 26 июня 2018

Рассмотрим следующую иерархию зависимостей:

maven dependency hierarchy

Теперь у меня есть maven-jibx-plugin в проекте D, который генерирует скомпилированные классы в папке target/classes. Но когда я запускаю свой spring-boot проект A, сгенерированные классы из проекта D не могут быть разрешены. Разрешение зависимостей из рабочей области также проверяется в maven настройках проекта A

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Вы пытались добавить сгенерированную исходную папку в качестве исходной в 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>
0 голосов
/ 27 июня 2018

Мне кажется, что Eclipse и Maven не распознают проект D как связанный проект.

Существует два возможных решения:

  • В Eclipse вы можете добавить проект D в качестве зависимого проекта к пути сборки проекта A. Перейдите в диалог проекта Свойства . Выберите Java Build Path и перейдите на вкладку Projects . Там вы должны добавить проект D.

  • Или же вы полагаетесь на управление зависимостями Maven. Поэтому вы должны добавить зависимость в POM-файл проекта А. Сначала добавьте <dependency> (если это еще не сделано) в раздел <dependencies>. Теперь важная часть! Maven может разрешить эту зависимость, только если вы установили скомпилированный артефакт maven (файл jar) в локальный репозиторий maven. В командной консоли перейдите в каталог проекта D и запустите mvn install

Я надеюсь, что сделал свое дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...