J2EE入門(11) (轉)

gugu99發表於2008-03-18
J2EE入門(11) (轉)[@more@]

一般問題和解決方案

不能啟動 Server

命名和目錄服務埠衝突

症狀:當你用-verbose選項啟動J2EE server,它顯示這些行:

J2EE server listen port: 1050
RuntimeException: Could not initialize server. . .

解決方案:另外一個程式使用1050埠.如果J2EE server已經執行, 你可以輸入鍵入j2ee -stop停止它.如果其他使用這個埠,那麼你可以編輯在J2EE SDK目錄下的config/orb.properties去改變預設的(1050)埠號.

關於預設埠號的更多資訊,查閱J2EE SDK文件包中的指南.

服務埠衝突

症狀: 當你用-verbose選項啟動J2EE server, 它顯示這些行:

LifecycleException: HttpConnector[8000].open: .BindException: Address in use. . .

解決方案: 另一個程式使用8000埠. 你可以編輯在J2EE SDK安裝目錄下的config/orb.properties檔案去改變預設的8000埠號.

不正確的直譯器

症狀: 當你用-verbose選項啟動J2EE server, 它顯示這些行:

Exception in thread "main" javax.xml.parsers.FactoryConfigurationError: org..xerces.jaxp.SAXParserFactoryImpl at . . .

解決方案: 刪除安裝目錄中的/lib/jaxp.properties檔案.

編譯錯誤

Ant不能定位Build檔案

症狀: 當你鍵入ant converter, 顯示這些資訊:

Searching for build.xml Could not locate a build file!

解決方案: 在執行ant之前,先到examples/src目錄:

不能解析符號

症狀: 當你鍵入ant converter,編譯器報告許多錯誤,包括這些:

cannot resolve symbol . . . BUILD FAILED . . . Compile failed, messages should have been provd

解決方案: 確認你已經正確設定J2EE_HOME環境變數.查閱.

部署錯誤

在你的Classpath中有不正確的XML解析器

症狀:這個錯誤顯示下列文字:

. . . []java..RemoteException:Error saving/opening Deployment Error:Bad map of key{0}  class{1}, not found: com.sum.enterprise.deployment.xml.ApplicationNode

解決方案: 刪除J2SE安裝位置下的jre/lib/ext目錄中的jaxp.jar檔案.這個JAR檔案包含XML解析程式,它不相容J2EE server.如果沒有jaxp.jar檔案,那麼可能你的classpath引用到安裝目錄的XML解析程式.在這種情況下,你應當刪除你的classpath引用.

J2EE應用程式客戶端執行時錯誤

客戶端產生異常

症狀: 客戶端報告這個異常:

java.lang.NoClassDefFoundError: com/sun/ebank//exception/CustomerNotFoundException

解決方案: 確認已經設定APPCPATH為客戶端的jar路徑.

客戶端不能找到ConverterApp.ear

症狀: 客戶端報告這個異常:

IOException: ConverterApp.ear does not exist

解決方案: 確保ConverterApp.ear檔案存在和你已經用-client選項指定它:

runclient -client ConverterApp.ear -name ConverterClient

你已在ConverterApp.ear這個章節中建立它, . 也可查閱, .

客戶端不能找到ConverterClient

症狀: 客戶端顯示這些行:

No application client descriptors defined for: . . .

解決方案: 檢驗你已經建立ConverterClient元件和你已經指定它為runclient-name選項. 你已在這個章節中建立ConverterClient元件, .

登入失敗

症狀:在你在login對話方塊中單擊 OK 後,客戶端彙報這個異常:

FailedLoginException: Pass Incorrect

解決方案: 在login對話方塊,輸入guest作為user name和guest123作為password.

J2EE應用程式不能被部署

症狀: 客戶端報告下列異常:

NameNotFoundException. exception is org.omg.CosNaming. . .

解決方案: 部署應用程式.詳細說明,查閱.

The JNDI Name is Incorrect

症狀: 客戶端報告下列異常:

NameNotFoundException. Root exception is org.omg.CosNaming. . .

解決方案: 在ConverterApp的JNDI Names標籤頁中,確信ConverterBean的JNDI names和ejb/SimpleConverter匹配.編輯相應的JNDI Name欄然後重新發布應用程式.

Web客戶端執行時錯誤

在URL中的Web Context(上下文)不正確

症狀: 報告頁面無法找到(HTTP 404).

解決方案:檢驗在URL中的web context (converter)和你在這個章節的Component General Properties對話方塊中指定的是否匹配, . web context區分大小寫.

J2EE應用程式沒有被部署

症狀:瀏覽器報告無法找到頁面(HTTP 404).

解決方案:部署應用程式.

JNDI Name不正確

症狀: 當你在網頁上單擊Submit時,瀏覽器報告A Exception Has Occurred.

解決方案: 在ConverterApp的JNDI Names標籤頁,確信ConverterBean的JNDI names和ConverterWAR的相匹配.編輯相應的JNDI Name欄然後重新部署應用程式.

用Verifier工具檢測問題

verifier工具可以檢測在deployment descriptors中不一致性和method signatures. 這些不一致性經常引起部署和執行時錯誤. 從deploytool中, 你可以用選擇Tools-> Verifier來執行verifier工具的GUI版本. 你也可以執行一個verifier工具的單機版GUI版或command-line版.更多資訊,查閱.

當全部都失敗時

如果沒有任何事情去工作,你可以反安裝應用程式然後執行cleanup指令碼來清除server's repository. 你也需要停止和重啟:

j2ee -shutdowncleanupj2ee -verbose


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1001100/,如需轉載,請註明出處,否則將追究法律責任。