mvn clean deploy -DperformRelease=true
[錯誤]退出代碼:1 - .java:3:軟件包javax.inject不存在 存在
[錯誤] 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
的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
人有什麼想法?
注:阿帕奇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'for org.apache.maven.plugins:缺少maven-deploy-plugin。
通過設置在我的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
在一個側面說明:您可以克隆SVN回購協議的2.9.1版本,更新POM以2.10.1,做一個MVN安裝到把它放在你M2夾。你應該重新開始工作,當真正的發行版出來時,你只需要刪除這個tmp版本。
這是截至2014年9月23日的選項的一個很好的總結。我唯一可以添加的是觀看/監視並投票http://jira.codehaus.org/browse/MJAVADOC-408 ..或提交補丁:) – 2014-09-24 05:30:01
值得注意的是'-Dmaven.javadoc.skip =如果你運行'mvn release:perform',true'不起作用。 – 2014-09-24 07:40:50
@MarcelStör這是不正確的。在發佈插件的典型使用之後,您需要通過類似於-Darguments =「 - Dmaven.javadoc.skip = true」的方式將參數傳遞給它。這是我們在這裏完成的,以解決我們發佈的問題。 http://maven.apache.org/maven-release/maven-release-plugin/perform-mojo.html – Noremac 2014-09-26 14:21:46