我的評論
re: 林信良版Spring技術手冊遇到的問題(SpringHibernateDemo) javabright 2007-04-21 22:25
@ant
謝謝你的留言,請把你的發到jx1984520@163.com,如果能夠貼出來,那請貼到我的博客上,這樣有更多的人可以看到。
關于我遇到的問題,我已經在eclipse3.2中順利跑起來了。我導師說這種錯誤提示一方面是確實缺少了commons-longing.jar包,但也有可能是因為commons-longing.jar包,我認為這種可能性也是存在的,因為利用eclipse自動加的包確實可能重復,不過我還沒做過實驗,希望遇到同意問題的同學可以去試試,并能把結果發上來。
最后,再次謝謝樓上的留言。
謝謝你的留言,請把你的發到jx1984520@163.com,如果能夠貼出來,那請貼到我的博客上,這樣有更多的人可以看到。
關于我遇到的問題,我已經在eclipse3.2中順利跑起來了。我導師說這種錯誤提示一方面是確實缺少了commons-longing.jar包,但也有可能是因為commons-longing.jar包,我認為這種可能性也是存在的,因為利用eclipse自動加的包確實可能重復,不過我還沒做過實驗,希望遇到同意問題的同學可以去試試,并能把結果發上來。
最后,再次謝謝樓上的留言。
re: 林信良版Spring技術手冊遇到的問題(SpringHibernateDemo) javabright 2007-04-16 16:33
放棄了,裝eclipse3.2去
re: 林信良版Spring技術手冊遇到的問題(SpringHibernateDemo) javabright 2007-04-16 03:13
在rcp應用程序中引用外部jar后產生的NoClassDefFoundError的解決
在開始利用eclispe自動生成rcp應用程序后,在eclipse的插件平臺下,沒有導入相關的jar包,程序運行正常,但是當導入了相關jar包后,比如,在程序中利用到了common的相關包,利用了spring,hibernate等相關的包,建立構建路徑后,在整個工程中沒有發現異常,各類也沒有顯示錯誤信息,但運行系統程序時,卻提示下列異常:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
即使是我們在程序中不引用LogFactory 類的包,也會彈出其他類的NoClassDefFoundError異常,什么原因導致了這個現象呢(在工程中顯示導入文件jar包無誤,發現構建路徑也無誤)?
原來,在構建rcp應用程序時,針對lib文件夾的添加,插件清單需要修改,在插件清單中需要添加對應的jar包的路徑:用默認的plug-in manifese editor打開plugin.xml文件,選擇Runtime,我們需要在ClassPath一項里做相應的修改:在插件清單中添加我們用到的外部jar包。如果不指定,我們定義的類信息和其他的資源信息就不能添加到插件應用程序中去了,則會提示ClassNotFoundException。
重新運行程序,果然正常了。
將rcp應用程序導出時也需要注意:我們也同樣需要將我們自己寫的代碼添加runtime的classpath中,我提供的方法是:選擇右邊的add按鈕,添加bin目錄(class文件所在的目錄),有人添加的是jar,有的人提供的是一個點(即:.)。添加完后,導出,就發現應用程序能夠正常地運行了,否則,又會發現ClassNotFoundException(這次提示的是我們自己編寫的代碼找不到了)
這是我找到得關于這個問題的其中一個解決方案,因為跟其他解決方案比較不同,而且講得比較有道理,就記了下來,以供大家參考。因為不懂如何修改pulg-in.xml文件,因此還在實驗中。希望各位同仁多多指教。
在開始利用eclispe自動生成rcp應用程序后,在eclipse的插件平臺下,沒有導入相關的jar包,程序運行正常,但是當導入了相關jar包后,比如,在程序中利用到了common的相關包,利用了spring,hibernate等相關的包,建立構建路徑后,在整個工程中沒有發現異常,各類也沒有顯示錯誤信息,但運行系統程序時,卻提示下列異常:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
即使是我們在程序中不引用LogFactory 類的包,也會彈出其他類的NoClassDefFoundError異常,什么原因導致了這個現象呢(在工程中顯示導入文件jar包無誤,發現構建路徑也無誤)?
原來,在構建rcp應用程序時,針對lib文件夾的添加,插件清單需要修改,在插件清單中需要添加對應的jar包的路徑:用默認的plug-in manifese editor打開plugin.xml文件,選擇Runtime,我們需要在ClassPath一項里做相應的修改:在插件清單中添加我們用到的外部jar包。如果不指定,我們定義的類信息和其他的資源信息就不能添加到插件應用程序中去了,則會提示ClassNotFoundException。
重新運行程序,果然正常了。
將rcp應用程序導出時也需要注意:我們也同樣需要將我們自己寫的代碼添加runtime的classpath中,我提供的方法是:選擇右邊的add按鈕,添加bin目錄(class文件所在的目錄),有人添加的是jar,有的人提供的是一個點(即:.)。添加完后,導出,就發現應用程序能夠正常地運行了,否則,又會發現ClassNotFoundException(這次提示的是我們自己編寫的代碼找不到了)
這是我找到得關于這個問題的其中一個解決方案,因為跟其他解決方案比較不同,而且講得比較有道理,就記了下來,以供大家參考。因為不懂如何修改pulg-in.xml文件,因此還在實驗中。希望各位同仁多多指教。