測試和發佈(伺服器)工具的版本注意事項

© Copyright International Business Machines Corporation 2006. All rights reserved.US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM® Corp.

版本注意事項

1.0 限制
   1.1 移除多個 EAR 專案共用的 EJB 模組
2.0 已知的問題和暫行解決方法
   2.1 在除錯模式下回復之後,置換常用方法無法生效
   2.3 當公用程式 JAR 檔新增至 Web 程式庫時,發生 java.lang.NoClassDefFoundError 錯誤
   2.3 當遠端伺服器已停止時,「新建伺服器」精靈經過很久才會完成
   2.4 切換安全的 WebSphere Application Server 6.1 版的伺服器連線類型

1.0 限制

1.1 移除多個 EAR 專案共用的 EJB 模組

如果 WebSphere Application Server 上執行的多個 EAR 專案共用一個 Enterprise JavaBean (EJB) 模組,且從伺服器移除其中一個 EAR 專案,則其他 EAR 專案必須重新啟動,才能存取此 EJB 專案中的資源,例如 EJB Bean。 

如果未執行這個動作,可能會出現類似下列的錯誤訊息。發生這些錯誤是因為移除 EAR 時,伺服器中也移除 EJB 專案的 Java 命名和目錄介面 (JNDI) 名稱。

 

下列是錯誤訊息範例:

00000028 SystemOut     O javax.naming.NameNotFoundException: Context: myCell/nodes/myNode/servers/server1, name: ejb/ejbs/Session20Home: First component in name Session20Home not found. [Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]
    at com.ibm.ws.naming.jndicos.CNContextImpl.processNotFoundException(CNContextImpl.java:4730)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1907)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1862)
    at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1552)
    at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1354)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:172)
    at javax.naming.InitialContext.lookup(InitialContext.java:363)
    at com.ibm.ivj.ejb.runtime.AbstractAccessBean.lookupAndCacheHome(AbstractAccessBean.java:224)
    at com.ibm.ivj.ejb.runtime.AbstractAccessBean.getGlobalHome(AbstractAccessBean.java:216)
    at com.ibm.ivj.ejb.runtime.AbstractAccessBean.getHome(AbstractAccessBean.java:249)
    at ejbs.Session20AccessBean.ejbHome(Session20AccessBean.java:50)
    at ejbs.Session20AccessBean.instantiateEJB(Session20AccessBean.java:80)
    at ejbs.Session20AccessBean.foo(Session20AccessBean.java:91)
 

2.0 已知的問題和暫行解決方法

2.1 在除錯模式下回復之後,置換常用方法無法生效

假設有一個使用下列配置的專案,例如「應用程式用戶端」專案:

您可能發現「除錯」視圖中的「回復」按鈕無法正常運作。例如,在伺服器上以除錯模式執行應用程式時,您試圖在執行時期變更程式檔,然後利用「回復」按鈕來繼續對應用程式除錯。您可能發現置換常用方法對程式碼的變更無法生效。
請嘗試按兩次「回復」按鈕,讓執行時期變更生效。 
附註:將 Java 的 Poject Facet 設為 5.0 版時不會發生這個問題。

2.2 當公用程式 JAR 檔新增至 Web 程式庫時,發生 java.lang.NoClassDefFoundError 錯誤

如果將公用程式 JAR 檔新增至 Web 專案的 Web 程式庫,且在程式碼中參照 JAR 檔內的類別,當您嘗試在伺服器上執行應用程式時,可能會發生 java.lang.NoClassDefFoundError 錯誤。
暫行解決方法是在公用程式 JAR 檔新增至 EAR 模組之後,完成下列步驟,將 JAR 檔新增至 Web 專案的 J2EE 模組相依關係:

  1. 將公用程式 JAR 檔新增至 EAR 模組。如需詳細資訊,請參閱產品說明中的新增專案公用程式 JAR 檔主題。
  2. 用滑鼠右鍵按一下 Web 專案,選取內容。這時會開啟「內容」對話框。
  3. 選取 J2EE 模組相依關係。  
  4. J2EE 模組標籤中,請在 JAR/模組直欄下選取您的公用程式 JAR 檔的勾選框。

2.3 當遠端伺服器已停止時,「新建伺服器」精靈經過很久才會完成

如果遠端伺服器已停止,在「新建伺服器」精靈中按一下完成按鈕之後,需要經過很久才會完成。暫行解決方法是先啟動遠端伺服器,然後才在「新建伺服器」精靈中按一下完成按鈕。

2.4 切換安全的 WebSphere Application Server 6.1 版的伺服器連線類型

如果安全的 WebSphere Application Server 6.1 版已啟動,且您在伺服器編輯器中將伺服器連線類型改為遠端方法呼叫 (RMI) 或 SOAP,則儲存伺服器編輯器中的變更之後,可能會出現下列發佈失敗的錯誤訊息:
未執行發佈,因為伺服器未啟動。執行發佈作業之前,請先啟動伺服器。
您可以放心地忽略這項錯誤。或者,您可以等到「伺服器」視圖中的伺服器狀態變成已啟動之後再完成發佈指令(在「伺服器」視圖中,用滑鼠右鍵按一下伺服器,再選取發佈)。