2013-03-03 45 views
0

我創建了一個我想在動態Web項目中使用的JPA項目。動態Web項目中的jar中的ClassNotFoundException

我從這個JPA項目做了一個罐子,並在動態webproject增加它在一個lib文件夾。然後我將其添加到動態Web項目的構建路徑中,並在「訂單和導出」選項卡中打勾。

第一個問題:我創建了一個帶有正常出口使用這些選項來震撼這個jar文件;

enter image description here

這些是好還是我補充一下。

第二個問題:當我加入這個罐子的構建路徑,我使用一個類的實例,從這個罐子中,我可以將它添加到進口和類是知道的,所以我沒有看到任何錯誤。

當我嘗試運行JSP和servlet,我使用的類我得到了我的Apache一個java.lang.NoClassDefFoundError誤差在哪裏使用類行了java.lang.ClassNotfoundEception。所以出於某種原因,他沒有在運行時發現這個類。

我試着用不同的選項反複製作罐子。我嘗試以不同的方式導入我需要的類(ctrl-T),但我只看到一個類。

我唯一覺得奇怪的是導入方式。在我的JPA項目,我有這樣的封裝結構:在我的動態Web項目

be.JPA.project6

我有這樣一個封裝結構:

be.project6

當我看到進口,我看到:be.JPA.project6.data.classname

我期望的結構不同,這樣他就知道,他需要「正常」的包裝結構的外部搜索。但也與「CTRL-T」我只可以看到這個類

我不想讓其他項目的引用,但有一個罐子裏使用這樣的。

我出去了任何線索,所以任何意見會更然後歡迎。

回答

1

構建路徑是:構建路徑。一個路徑用於構建該應用程序。

運行時 webapp的類路徑由WEB-INF/class目錄和WEB-INF/lib中的一組jar組成。

從動態web項目的構建路徑中移除jar。只需將其放入WebContent/WEB-INF/lib目錄即可。 Eclipse將自動將此目錄中的所有jar添加到構建路徑,並將它們放入已部署的Web應用程序的WEB-INF/lib目錄中,以便它們也是運行時類路徑的一部分。

+0

這個伎倆!多謝!!!! – 2013-03-03 10:14:43