Подтвердить что ты не робот

Определить дополнительный исходный каталог в maven

Я генерирую источники Java из файла wsdl. Эти источники не находятся под контролем версий (но wsdl есть). Мы используем cxf-codegen-plugin в maven, а сгенерированные классы генерируются в <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>.

Это прекрасно работает на maven.

Мне нужно определить этот каталог как каталог с добавлением источника в Intelij Idea. (target нормально исключается).

Но каждый раз, когда я повторно импортирую проект maven в InteliJ Idea (из-за изменений pom), мне нужно вручную отредактировать структуру проекта в Idea и переопределить каталог с исходным кодом.

Можно ли каким-либо образом определить этот дополнительный исходный каталог в maven, поэтому Idea подбирает его при перезагрузке или сообщает Idea не забывать определение directoy исходного руководства?

4b9b3361

Ответ 1

Этот случай описан в IntelliJ IDEA Maven FAQ, Сгенерированные источники:

Укажите каталог исходного корня при reimport проекте.
Вы можете выбрать один из следующих вариантов:

  • Обнаружение автоматически Это параметр по умолчанию. Когда вы выбираете этот параметр, IntelliJ IDEA автоматически определяет местоположение сгенерированных источников. IntelliJ IDEA также определяет, какой каталог следует указывать как исходный корень. Однако IntelliJ IDEA ищет сгенерированные источники только в каталогах target/generated-sources и target/generated-sources/*.

  • target/сгенерированные источники. Эта опция позволяет вам вручную пометить каталог как исходный корень.

  • подкаталоги "target/сгенерированные источники" Эта опция позволяет вам вручную указывать подкаталог в качестве исходного корня.

  • Не обнаруживать Этот параметр позволяет пропустить процесс обнаружения.

Ответ 2

Взгляните на цель сборки <add-source> (см. пример здесь)

Цитата:

<plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>build-helper-maven-plugin</artifactId>
 <version>1.4</version>
 <executions>
  <execution>
   <id>add-wsdl-source</id>
   <phase>generate-sources</phase>
   <goals>
    <goal>add-source</goal>
   </goals>
   <configuration>
    <sources>
     <source>${basedir}/src-generated/src</source>
    </sources>
   </configuration>
   <!-- [...] -->
  </execution>
 </executions>
</plugin>

Ответ 3

Вы можете определить (внешний) исходный каталог как зависимость от вашего модуля. Project Structure -> Modules -> Depenencies. Там вам нужно добавить новую зависимость JAR or Directory.