Проблемы при импорте проекта maven 2 с несколькими модулями в рабочую область Eclipse - PullRequest
3 голосов
/ 11 марта 2010

Мне было интересно, если кто-то испытал ту же проблему, что и я, и может мне помочь. У меня есть проект Maven, который содержит 6 модулей. Некоторые из модулей зависят друг от друга. Проект написан на Java и собирается в jars, wars и aar. Я пытался импортировать его в Eclipse с помощью плагина m2eclipse. Кажется, работает нормально, пока проект не будет построен. В процессе сборки я получаю сотни ошибок с жалобами на отсутствующие файлы Java, которые генерируются. Как я выяснил, eclipse не может распознать, что некоторые из сгенерированных пакетов должны интерпретироваться как исходный код. Я действительно не знаю, что с этим делать, так как я потратил много времени, пытаясь решить эту проблему. Проект строится нормально с командной строкой. Моя цель - отладить весь проект на сервере Tomcat, поэтому я хочу использовать eclipse, поскольку он довольно хорошо интегрируется с Tomcat.

Любая помощь будет принята с благодарностью.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 11 марта 2010

Как указано в Почему сгенерированные исходные папки не добавляются в classpath запись FAQ:

Плагины Maven, используемые для генерации источника код из ресурсов или других источников можно зарегистрировать дополнительные исходные папки Maven проект во время сборки. Обычно такие плагины связаны с ресурсы процесса (или процесс-тест-ресурсы) фаза сборки (например, jaxb, modello или xdoclet плагинов). Это означает, что, чтобы получить те исходные папки для сгенерированных источников, мы должны запустить соответствующий Maven фаза сборки.

Не все проекты, использующие сгенерированные источники, поэтому по причинам производительности, m2eclipse не выполняет никаких целей Maven по умолчанию при импорте проекта. Это может изменить в настройках Maven в " Окно > Настройки ... > Maven > Цели запуска при импорте проекта"(например, Вы можете указать «процесс-ресурсы» этап сборки или специальные плагины в это поле).

В качестве альтернативы вы можете запустить " Maven > Обновление конфигурации проекта"Действие из всплывающего меню проекта, которое настроен для запуска "процесс-ресурсы" по умолчанию, и это также может быть изменено на той же странице настроек.

Таким образом, либо добавьте цель, с которой процесс генерации источника связан с списком целей для запуска при импорте, либо сгенерируйте источники, запустив maven и обновив конфигурацию проекта.

0 голосов
/ 18 марта 2014

Используйте build-helper-maven-plugin (пример ниже), чтобы указать Eclipse добавить сгенерированную папку в путь сборки:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.8</version>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>target/generated-sources/cxf</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>

Добавьте это в pom каждого проекта, который генерирует источники ...

0 голосов
/ 02 ноября 2010

Попробуйте использовать mvn eclipse:eclipse

Под проектом, в котором вы дополнительно сгенерировали источник. Когда это генерируется maven, оно обычно находится в целевой папке.

Поэтому eclipse:eclipse распознает это и добавит в качестве исходной папки.

Помните, чтобы обновить проект после этого.

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