我这样做时遇到以下错误
mvn clean deploy -DperformRelease=true
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
{
}
我得到了错误
但是不...
有人有主意吗?
注意: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安装以将其放入M2文件夹。您应该重新启动并工作,当真正的发行版发布时,您只需要删除此tmp版本。
最佳答案
在我们的项目中遇到了同样的问题。有很多人都遇到这个问题,因此应该成为第一个答案中所述的关于maven-javadoc-plugin maven-javadoc-plugin breaks mvn release:perform的问题。吉拉问题是http://jira.codehaus.org/browse/MJAVADOC-408。
时间解决方案:
-Dmaven.javadoc.skip=true
选项<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
我希望这个问题能尽快解决。
更新
根据Noremac的评论,如果您正在使用发布插件并希望向其传递参数,则正确的方法是-Darguments =“-Dmaven.javadoc.skip = true”。
在我的答案中,我会另辟keep径,因为在使用javadoc的任何Maven构建中都会发生这种情况。
更新2
另外,TheConstructor在注释中还说2.10.1版本解决了该问题。我无法检查出来。