JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » EJB / 其它Java EE 討論區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 參考到另一個 Project,出現 NoClassDefFoundError
chih0812





發文: 629
積分: 0
於 2010-03-15 15:08 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我用 Eclipse + tomcat,先寫了一個 Java Project , 叫 myCommon,裡面有寫好的 DAO

然後又建了一個 myweb,並且在 Java Build Path → Projects,按 Add,將 myCommon 加進去
然後開始寫了一個 JSF page, 在後面的 backing bean 寫了邏輯
寫的時候,Eclipse 還認得寫在 myCommon 裡的 DAO,publish 到 tomcat 也都 ok

但在 ie 上按 submit,觸發 backing bean 裡的邏輯時,卻還是出現了 NoClassDefFoundError 的錯誤…
請問這是為什麼呢?
還是我的設法有問題?


reply to postreply to post
SCJP, SCWCD, SCBCD, NCLP, OCUP
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:chih0812]
mylee





發文: 764
積分: 1
於 2010-03-15 15:24 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
把參考到的 jar 檔放在新專案的 WEB-INF/lib 下。

reply to postreply to post
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:mylee]
chih0812





發文: 629
積分: 0
於 2010-03-15 15:27 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
您好

但是我並不是要參考那個 project 裡面的 lib/xxx.jar 檔
那些 dao 是我寫的 source code,有辦法不編譯成 jar 檔,再放到 WEB-INF/lib 下
而是直接參考到那個 project 嗎?

這樣假設我改了我的 dao,並不需要再重新產生一次 jar 檔,然後再放到 WEB-INF/lib 下


reply to postreply to post
SCJP, SCWCD, SCBCD, NCLP, OCUP
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:chih0812]
mylee





發文: 764
積分: 1
於 2010-03-15 15:33 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
chih0812 wrote:
您好
但是我並不是要參考那個 project 裡面的 lib/xxx.jar 檔
那些 dao 是我寫的 source code,有辦法不編譯成 jar 檔,再放到 WEB-INF/lib 下
而是直接參考到那個 project 嗎?
這樣假設我改了我的 dao,並不需要再重新產生一次 jar 檔,然後再放到 WEB-INF/lib 下


不想編 jar 檔,就把 dao classes tree copy過去也可以。
你可以弄個 ant build,當 dao 改了,看是要 build new jar 還是要 copy classes 到新專案,二者選一。你總不會想弄個怪異的 class loader 負責去你放 dao 的專案目錄 load class 吧?


reply to postreply to post
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:mylee]
chih0812





發文: 629
積分: 0
於 2010-03-15 15:47 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
直接 copy tree 過去並不是我要的

因為之所以會想獨立出來一個 common,就是可以其他專案也會參照到
之前看過同事設定,他可以就像這樣設定完後,參考到另一個專案的 source code
也是用 eclipse + tomcat,似乎不需要再去設定 ant…


reply to postreply to post
SCJP, SCWCD, SCBCD, NCLP, OCUP
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:chih0812]
chih0812





發文: 629
積分: 0
於 2010-03-15 15:52 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
試出來了

到 Java EE Module Dependencies,把 common 那個專案打勾就好了

謝謝。 Smile


reply to postreply to post
SCJP, SCWCD, SCBCD, NCLP, OCUP
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:chih0812]
chih0812





發文: 629
積分: 0
於 2010-03-15 16:12 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
是找的到我寫的東西了
但執行到 dao 的部份,卻會說找不到 jpa 的東西… Sad

java.lang.ClassNotFoundException: javax.persistence.Persistence


reply to postreply to post
SCJP, SCWCD, SCBCD, NCLP, OCUP
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:chih0812]
mylee





發文: 764
積分: 1
於 2010-03-15 16:25 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
chih0812 wrote:
是找的到我寫的東西了
但執行到 dao 的部份,卻會說找不到 jpa 的東西… Sad
java.lang.ClassNotFoundException: javax.persistence.Persistence


因為 jpa jar 並沒有被自動加到你的最終專案。你可以手動加,也可以在 common 專案設定
export 有引用到的 jar。

dependencies 這種東西,還是手動自己來比較安心,至少知道哪個東西用的是第幾版,也不會擔心 IDE 幫你把還沒 fully test 完的東西 pack 到所有引用這個東西的專案去。


reply to postreply to post
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:chih0812]
mylee





發文: 764
積分: 1
於 2010-03-15 16:40 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
chih0812 wrote:
直接 copy tree 過去並不是我要的


我現在才看懂你這裏弄錯我的意思,我指的是 build 出來的 dao classes (*.class) tree。不是 source code tree。


reply to postreply to post
作者 Re:參考到另一個 Project,出現 NoClassDefFoundError [Re:mylee]
chih0812





發文: 629
積分: 0
於 2010-03-15 18:22 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
呵,謝謝 Smile

reply to postreply to post
SCJP, SCWCD, SCBCD, NCLP, OCUP
» JWorld@TW »  EJB / 其它Java EE 討論區

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8