Я получаю следующее сообщение об ошибке, когда япоколение Javadoc не удалось: ClassCastException: com.sun.tools.javadoc.ClassDocImpl не может быть приведен к com.sun.javadoc.AnnotationTypeDoc
mvn clean deploy -DperformRelease=true
[ОШИБКА ] Код выхода: 1 - .java: 3: пакет javax.inject не есть
[ERROR] import javax.inject.Named;
[ERROR]^
[ERROR] TransactionServiceExternalImpl.java:5: не может найти символ
[ERROR] символ: класс Названный
[ERROR] @Named ("transactionServiceExternal")
[ERROR]^
[ERROR] java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImpl не может быть приведен к com.sun.javadoc.AnnotationTypeDoc
ПОМ это ...
<groupId>com.xxx</groupId>
<artifactId>ts-impl/artifactId>
<version>2.4.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
</dependencies>
Существует только один класс ...
import javax.inject.Named;
@Named("transactionServiceExternal")
public class TransactionServiceExternalImpl
{
}
Я получаю сообщение об ошибке с
- jdk1.5.0_22
- jdk1.6.0_29
- jdk1.6.0_43
- jdk1.6.0_43_32bit
Но НЕ с. ..
- jdk1.7.0_05
Кто-нибудь есть какие-нибудь идеи?
Примечания: Apache Maven 3.0.4 (r1232337; 2012-01-17 08: 44: 56 + 0000)
теперь я знаю, что причина в том, что Maven плагин Javadoc изменился с 2,9 .1 - 2.10. , и это является причиной проблемы.
Я могу видеть это предупреждение ...
[ВНИМАНИЕ] build.plugins.plugin.version 'для org.apache.maven.plugins: Maven-Javadoc-плагин отсутствует. [ПРЕДУПРЕЖДЕНИЕ] 'build.plugins.plugin.version' для org.apache.maven.plugins: отсутствует maven-deploy-plugin.
Установив следующее в моем П ....
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
я могу исправить версию вернуться к последней версии.
Я подниму ошибку с создателями Maven Javadoc.
http://jira.codehaus.org/browse/MJAVADOC-407
На стороне записки: вы можете клонировать репозиторий SVN для версии 2.9.1, обновление ПОМ в 2.10.1, сделать MVN установить, чтобы поместить его в вас M2 папка. Вы должны снова работать и работать, вам просто нужно удалить эту версию tmp, когда выйдет реальный релиз.
Это хорошее резюме вариантов с 2014-09-23. Единственное, что я мог добавить, это смотреть/контролировать и проголосовать за http://jira.codehaus.org/browse/MJAVADOC-408 .. или отправить патч :) –
Стоит отметить, что '-Dmaven.javadoc.skip = true' не поможет, если вы запустите 'mvn release: выполнить'. –
@ MarcelStör это неверно. Следуя типичному использованию плагина выпуска, вам нужно передать в него аргументы с помощью чего-то вроде -Darguments = "- Dmaven.javadoc.skip = true". Это то, что мы сделали здесь, чтобы обойти проблему в наших выпусках. http://maven.apache.org/maven-release/maven-release-plugin/perform-mojo.html – Noremac