2011-12-28 216 views
3

我得到以下IDE錯誤,它出現在內聯或我的類的包聲明中,但不會阻止代碼正常運行或按預期工作。奇怪的Eclipse IDE錯誤javax.annotation.meta.When #Java

我試着從Glassfish手動下載javax-annotations.jar並將它放在classpath和JDK外部JAR資源區域中,沒有任何幫助。

The type javax.annotation.meta.When cannot be resolved. It is indirectly referenced from required .class file

錯誤出現在我使用Findbugs @NonNull註釋的任何地方;任何使用此註釋的類都有上述消息出現在包聲明行的IDE中。但是,該類在Package-Explorer或Navigator視圖中顯示爲無錯誤。

我很樂意忽略這個,但它打破了我很喜歡的Mark-All-Occurences行爲,如果有人對我可能錯過的東西有任何想法,我將不勝感激!

+0

它在那個罐子裏嗎?我不確定你指的是什麼jar - 不是JSR-305的一部分? http://code.google.com/p/jsr-305/ – 2011-12-28 03:10:59

+0

@DaveNewton完全正確,它是JSR-305/facepalm的一部分,請將其作爲答案提交,我將向您提供解決方案。獲取When註釋從鏈接中下載JSR-305源的最簡單方法是什麼?我沒有看到任何方便的JAR下載。再次感謝。 – Syntax 2011-12-28 08:33:49

+0

原來我需要從我的類路徑中的Findbugs 2.0包中獲取annotation.jar,這樣才能解決錯誤,在下載JSR-305時我有一種下沉的感覺,我錯過了某些明顯的東西,再次感謝您的幫助。 – Syntax 2011-12-28 13:48:40

回答

0

FindBugs jar已經包含一個jsr-305.jar,它包含一個JSR-305的實現。

更多的信息在this previous question

編輯哦,你已經做到了 - 我甚至都不知道它也在annotations.jar中。

+0

感謝您的幫助@DaveNewton,非常感謝! – Syntax 2011-12-29 06:13:35