Я получаю следующую ошибку, когда я делаю
mvn clean deploy -DperformRelease=true
[ОШИБКА] Код выхода: 1 -.java: 3: пакет javax.inject не есть
[ERROR] import javax.inject.Named;
[ERROR] ^
[ERROR] TransactionServiceExternalImpl.java:5: невозможно найти символ
Символ [ERROR]: класс Named - [ERROR] @Named ( "transactionServiceExternal" )
[ОШИБКА] ^
[ОШИБКА] java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImpl не может быть добавлено в com.sun.javadoc.AnnotationTypeDoc
POM - это...
<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-plugin. [WARNING] '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, обновить pom до 2.10.1, выполнить mvn install, чтобы поместить его в вашу папку M2. Вы должны снова работать и работать, вам просто нужно удалить эту версию tmp, когда выйдет реальный релиз.