Я пытаюсь скомпилировать свой код, содержащий аннотации, генерирующие исходный код. Я использую maven-compiler-plugin
и build-helper-maven-plugin
. Мой POM выглядит так:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<generatedSourcesDirectory>${project.build.directory}/generated-sources/apt</generatedSourcesDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/apt</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
Когда я запускаю mvn compile
, ${project.build.directory}/generated-sources/apt
добавляется как исходный каталог, и сгенерированные источники создаются в правильном каталоге. Но я получаю ошибки компилятора из-за отсутствия ссылок на сгенерированные классы. Это похоже на то, что сгенерированный исходный каталог не включается в процесс компиляции.
Я также пробую apt-maven-plugin
, который ничего не генерирует. И maven-annotation-plugin
, но ведет себя так, как описано выше.
3 ответа
Можете ли вы попробовать последнюю версию плагина компилятора maven (2.3.2
)?
Также build-helper-maven-plugin
не требуется, поскольку похоже, что вы используете сам maven-compiler-plugin
для генерации источников из аннотации.
Fwiw Я только что понизил версию с 3.0 до 2.5.1 и исправил проблему, которую я наблюдал, когда обработка APT не выполнялась после нескольких запусков, используя maven, поэтому просто понизил одну версию:
Выпуск 2.0.7-SNAPSHOT maven-annotation-plugin должен решить проблему.
Похожие вопросы
Связанные вопросы
Новые вопросы
maven-2
Apache Maven - это инструмент управления и понимания программного обеспечения. Это тег для вопросов, связанных с Maven, которые относятся к Maven версии 2.x.
2.3.2
, есть "ложная ошибка" в определенияхmissing symbol
, но это только на первом проходе для создания Metamodel