2011-10-30 116 views
0

我正在使用帶有OEPE插件的Eclipse indigo在Weblogic AS(10.3.5)上開發一個帶有多個應用程序的JavaEE系統。我關掉了電腦,重新開啓了電腦,開始了eclipse,突然之間我發現了遍佈各處的課程路徑錯誤(沒有改變任何東西)。如何在Eclipse中正確設置JavaEE項目類路徑?

現在讓我得到這個直:
1.說我有一個包含EJB項目和一個EJBClient項目(無論是在展開組件)一個EAR項目的應用程序。
2.我編寫了一個新的常規Java項目,並且我想在EJB和EJBClient項目中使用它(它需要對它們可見)。
3.據我所知,我可以簡單地將這個Java項目添加到EAR項目的部署程序集中,並且它將對EJB和EJBClient項目可見。
4.到目前爲止,這一直在爲我工作,但現在我得到類路徑錯誤,我必須將此Java項目添加到每個項目的構建路徑。

如何在Eclipse中使用JavaEE技術時設置類路徑?

+0

這是依賴於其他項目還是依賴於Java EE API('@ Stateless','@ WebServlet','@ Entity'等)的問題? –

+0

@Pedro問題在於其他項目的依賴關係。 – wafwaf

回答

0

一些調整後,我設法解決這個錯誤:

首先我刪除從我的每一個普通的Java項目的構建路徑(我不知道爲什麼Eclipse中加入他們,他們命名爲「EAR圖書館的圖書館不應該在那裏)。
然後,對於每個EAR項目,我刪除並重新添加了不屬於EAR(常規Java項目,其他EJBClient項目等)的每個項目或jar。
這解決了找不到EAR中沒有包含的類的問題,但是後來出現了'循環依賴'錯誤。
我把這個錯誤縮小到導致它的項目 - 這是一個普通的Java項目,它在構建路徑中使用某個應用程序的EJBClient項目,EJBClient項目也在其構建路徑中使用Java項目。
聽起來微不足道,那麼爲什麼我沒有看到它呢?好吧,我查看了應用程序的EAR項目,並且它沒有部署程序集中的java項目,並且EJBClient沒有將Java項目作爲「必需項目」。那麼它在哪裏?
java項目位於EJBClient項目的'EAR libraries'庫中,根據Eclipse,它是根據'MANIFEST.MF'文件(它是空的,btw)自動生成的。
所以我簡單地從EJBClient項目的構建路徑中刪除並重新添加了'EAR庫'庫,並且它解決了問題,現在一切正常。

總之,Eclipse的OEPE插件似乎有一些需要修復的bug。

相關問題