当我这样做时,我收到以下错误
mvn clean deploy -DperformRelease=true
[错误] 退出代码:1 - .java:3:包 javax.inject 不存在
[错误] 导入 javax.inject.Named;
[错误] ^
[错误] TransactionServiceExternalImpl.java:5: 找不到符号
[错误] 符号: 类命名
[错误] @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。这就是问题的原因。
我可以看到这个警告...
[警告] org.apache.maven.plugins:maven-javadoc-plugin 的“build.plugins.plugin.version”缺失。[警告] org.apache.maven.plugins:maven-deploy-plugin 的“build.plugins.plugin.version”缺失。
通过在我的 pom 中设置以下内容......
<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
附带说明:您可以克隆版本 2.9.1 的 SVN 存储库,将 pom 更新到 2.10.1,执行 mvn install 将其放入 M2 文件夹中。你应该重新开始工作了,你只需要在真正的版本出来时删除这个 tmp 版本。