今天使用glassfish部署一個EJB的應用,這個EJB又引用到了第三方庫,并且第三方庫又使用了本地方法,需要導入兩個DLL動態鏈接庫.反反復復部署了很久,終于還是部署成功了.
一開始,我是把那兩個DLL文件放到SYSTEM32下面,后來發現,當服務器起動的時候,總是提示鏈接錯誤,找不到DLL文件,我就覺得奇怪了,SYSTEM32可是默認最PATH的地方了,于是在起動的時候特意輸出一句System.out.println(System.getProperty("java.library.path")),發現還真的沒有SYSTEM32文件夾,它輸出的盡是一些glassfish下面的一些目錄,什么bin啊,lib目錄啊,后來把這兩個dll文件放到這些里面以后,問題又來了,拋出一個錯誤,NoClassDefFoundError,沒有此類的定義,天啊,第三方的庫我可是都打進了EJB的那個JAR包了,然后它不會自己找?無語了,只有把那三個第三方的JAR包,放到glassfish認為的lib目錄下,終于完全起動好了.
小結:1,不知道EJB的JAR包能不能把第三方的庫打入JAR包里面,以前寫enterprise application的時候,JAR包是可以包進去的,不過一直都是用netbeans的自動打包自動部署功能,所以一旦脫離了netbeans,都不知道該怎么辦了,鬼知道netbeans要打包的時候,搞了一些什么鬼東西.
2,為什么system32的PATH,glassfish就是不認呢?人才,確實是人才.
今天心情不太好,所以瞎寫了幾下,做為記錄,glassfish還是很牛的,只是我不會用罷了.
盡管千里冰封
依然擁有晴空
你我共同品味JAVA的濃香.
posted on 2008-08-07 22:55
千里冰封 閱讀(2527)
評論(3) 編輯 收藏 所屬分類:
JAVAEE 、
Netbeans