rt.jar和xml-api.jar中的Node

開發這麼久,今天遇到兩個小問題比較棘手,由於項目是maven來管理的,基本上不需要考慮jar包的問題,但今天自己移動項目的時候發現,myeclipse的項目移動到eclipse竟然報錯了,問題就是org.w3c.dom.Node這個類在myeclipse中是引用的rt.jar這個jre中的jar包。可是在eclipse中引用的竟然是xml-api.jar中的Node。如果說包名不一致,我們可以用包名加類名來解決這個問題。但這個比較變態就是都一樣的。

於是就google了一下,不過也沒看到合理的解釋,後來有請教了一個比較有經驗的人,他讓我把哪裏依賴這個xml-api.jar的地方把這個依賴去掉。但是我不知道去掉這個依賴hibernate會不會出錯。糾結啊。結果竟然沒問題。那就把修改的地方貼出來下:

<dependency>
<groupId>org.apache.ws.commons.util</groupId>
<artifactId>ws-commons-util</artifactId>
<version>1.0.2</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>

這個問題就這樣的搞定了,接下來還有個問題,就是The method is ambiguous for the type 這樣的錯誤,說是方法模糊,其實這個確實是這樣的,

比如你的方法void get(int a,Object ... obj)和void get(Object... obj)當你這樣調用的時候get(10),那兩種方法都可以匹配上,結果就報上面那樣的錯誤

了,於是這次百度了下。別人的解決辦法是這樣的,打開eclipse.ini然後在-vmargs後加上-DtolerateIllegalAmbiguousVarargsInvocation=true這樣一句

話,重啓就好了,但我卻重啓了兩次纔好。第一次點重啓,沒用,第二次關了再開就好了。

每天學會一點點,這樣就是一種進步。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章