Java

版次注意事項
JavaTM 2 SDK, Standard Edition
Version 1.3.1

 

內容

總覽
Java 虛擬機器
字型內容
Solaris 上的 Xserver 錯誤
RMI
CORBA、RMI-IIOP 和 Java IDL
Java 2DTM 技術
拖放
可存取性
AWT 和 Swing
JDBC
安全
網路功能
JavaTM Plug-in 元件
本土化注意事項
說明文件
工具無法轉換 Solaris 2.6 上的日文 PCK 字符串
繁體中文字型問題
支援 Windows 2000
Windows NT 上安裝

總覽

Java 2 SDK Standard Edition 1.3.1 版 (J2SDK 1.3.1) 是一個維護版本,含有舊版中已知錯誤的修復。有關這些修復的詳細資料,請參閱
本版次中修復的錯誤

此外,J2SDK 1.3.1 還包含下列加強功能。

有關 Java Plug-in 產品的說明文件,請參閱 Java Plug-in 網站

完整的 J2SDK 1.3.1 說明文件集可以下載。 請參閱新的線上文件 Tuning Garbage Collection with the 1.3.1 Java Virtual Machine

J2SDK 1.3.1 的使用者可能會對以下的注意事項有興趣,包括重要錯誤修復的說明、已知的錯誤和解決方案,以及有關使用本版次的其他各項要訣和建議。

Java 虛擬機器

下列注意事項有關 Java 虛擬機器。

字型內容

本版次有下列有關字型內容的問題。

Solaris 上的 Xserver 錯誤

在用 Java 編程語言撰寫的應用程式引用字型時,Solaris Xserver 錯誤將引起系統毀壞。 錯誤報告 4391019 中說明這個問題。以下針對 Xserver 的 Solaris 修補程式將在 2001 年 6 月中旬推出,它們會有助於減少這種問題的出現。

對於 Solaris 2.6: 105633-55 (Sparc) 106248-41 (Intel)
對於 Solaris 7: 108376-24 (Sparc) 108377-22 (Intel)
對於 Solaris 8: 108652-31 (Sparc) 108653-26 (Intel)

查閱 SunSolve 網站獲得這些修補程式。

RMI

以下為本版次中對 RMI(Remote Method Invocation)功能的重要變更。

CORBA、RMI-IIOP 和 Java IDL

下列註解是有關本版次中的 CORBA、RMI-IIOP 和 Java IDL 功能。

Java 2DTM 技術

在 8 位元模式下執行時,Java 2DTM 程式庫中的錯誤 4178909 有時會使應用程式無法正確顯示。這個問題應只影響應用程式在重新啟動或顯示模式設為 8 位元之後的第一次執行時。

還有一些與 DirectDraw 相關的錯誤。如果您遇到 DirectDraw 問題,應考慮關閉 DirectDraw:

-Dsun.java2d.noddraw=true

某些顯示器驅動程式將會導致在存取 DirectDraw 時,監視器影像(包括視窗)會再同步或跳動。如果您看到這種情況,請查看製造商的網站是否有新版的驅動程式可解決問題。

Java 平台不支援 16 色顯示器。如果您在 16 色顯示上繪製圖形和 GUI 元件時有問題, 請嘗試將色彩深度變更為 256 色或以上的模式。

拖放

下列功能已經過實作並可運作,但未經完整測試,且在本版次中並不支援。

可存取性

AWT 和 Swing 元件具有內部類別,該類別實作 Java Accessibility API,並提供適合元件的可存取性支援。不過,在本版次中並沒有完整實作下列 AWT 類別的可存取性支援:
java.awt.TextComponent
java.awt.Menu
java.awt.MenuItem
java.awt.List
在將來的 Java 2 平台版次中,將會實作所有元件的完整可存取性支援。

AWT 和 Swing

下列註解是有關本版次中的 AWT 和 Swing 功能。

JDBC

在 Windows NT 上,JDBC 2.0 橋接支援 ODBC 2.x 和 ODBC 3.x 驅動程式管理程式和驅動程式。JDBC 2.0 橋接經測試僅適用於 ODBC 3.x 驅動程式管理程式以及 ODBC 2.x 和 3.x 驅動程式。

Merant 建議 JDBC 2.0 橋接與 Merant 的 DataDirect ODBC 3.5 或以上版本的驅動程式一起使用。

安全

下列為有關本版次的安全相關問題。
  • 如果編碼簽章的憑證不是自簽憑證,jarsigner 公用程式可驗證 Netscape SignTool 1.3 所簽章的檔案。 請注意,您可向 VeriSignTM 取得正式的 Netscape 編碼簽章憑證。該憑證是由 VeriSign 發出。它們不是自簽憑證。

    如果編碼簽章的憑證是自簽憑證,則 Netscape SignTool 1.3 不會將憑證置於簽章檔中, 同時如果簽章檔不包含簽章者的憑證,jarsigner 無法驗證已簽章的 JAR 檔。請注意, SignTool 1.3 本身所產生的編碼簽章的憑證僅供測試,且不是自簽憑證。 有一個已知的問題是,如果編碼簽章的憑證是自簽測試憑證,則 jarsigner 無法驗證 Netscape SignTool 1.3 所簽章的 JAR 檔。

  • 在 Java 2 SDK 中,應用程式類別是由實際的 ClassLoader 實例載入。這使得應用程式類別能夠使用已安裝的延伸項目,並將應用程式類別路徑(由使用者指定)與 bootstrap 類別路徑(其為固定的,且使用者通常不應加以修改)分開。必要的話,可使用 -Xbootclasspath 選項來置換 boostrap 類別路徑。

    不過,這表示在 Java 2 SDK 中,依預設,應用程式類別已不再具有所有的許可權。相反的,是依據已配置的系統安全政策來授與其許可權。這可能導致某些依據 1.0/1.1 中的原始安全模型來撰寫其自己的安全碼的應用程式丟出異常狀況,且不在 Java 2 SDK 中啟動。有一個解決方案是使用 oldjava 應用程式啟動程式來執行這些應用程式,請至 Java 應用程式啟動程式的參照頁

  • 下列注意事項彙總安全政策和簽章的相關問題。
    • Java 2 平台所使用的預設安全政策實作是由 Java 安全內容檔 jre/lib/security/java.security 中的 policy.provider 內容所指定。如果您指定非預設的安全政策實作, 則必須將您新的、非預設的安全內容類別檔置於 bootclasspath 上。您可使用 -Xbootclasspath 指令行選項來執行此動作。 有關此選項的資訊,請參閱 Java application launcher 參照頁。 這將會導致原則檔由 bootstrap 類別載入器所載入。如果新的預設原則檔是置於其他位置(例如在類別路徑或延伸項目上), 則它將不會被取用,而會改用 sun.security.provider.PolicyFile 中提供的預設原則。

    • 從 1.2.2 版開始,Java 2 SDK 使用新的類別載入機制。在新的類別載入器下, 如果任何屬於 Jar 檔中的套件的類別檔已被簽章,則屬於同一個套件的所有類別檔都必須由同一個簽章者簽章。已再也不可能使用其中某些套裝軟體類別已簽章、而其他類別未簽章或由不同的簽章者簽章的 Jar 檔。Jar 檔仍可包含未簽章的套件。然而, 如果有任何套件包含已簽章的類別,則該套件的所有類別檔都必須由同一位簽章者簽章。在本 Java 2 平台版本中,將無法使用未符合此標準的現有 Jar 檔。

  • 目前 keytool 工具可從檔案匯入或列印 Base64 編碼的憑證,不過該檔案必須以換行 (linefeed) 終止。 如果憑證檔的結尾處沒有換行,而您嘗試匯入或列印憑證, 則會出現「不受支援的編碼」CertificateException,或 keytool 錯誤訊息,例如「無法剖析輸入」或「輸入不是 X.509 憑證」。

    如果出現這種訊息或異常狀況,則問題可能是遺漏終止換行。會發生這種情況的一種原因,是有時「憑證管理中心」所回覆的憑證(回應憑證簽章要求)並不包含終止換行。

    在 UNIX 中,您可執行下列指令來判定檔案是否具有終止換行:

        od -xc <certificate_name>
    
    其中 <certificate_name> 是內含憑證之檔案的名稱。比方說,如果檔案的名稱為 mycert,則指令將會是
        od -xc mycert
    
    如果產生的輸出在最尾端處含有一個 "\n"(不帶雙引號), 則在結尾處已有一個換行指令。若非如此,可新增一個換行指令。

    如果您不確定憑證檔是否包含終止換行, 您可在後續的每個段落中都新增換行(新增更多也無妨), 然後重試 -import-printcert 指令即可。如果指令現在可行,則問題就是遺漏換行。 如果仍然出現錯誤,則有不同的憑證問題。

    若要新增換行至 Base64 編碼之憑證檔的結尾, 請在任一文字編輯程式中開啟檔案、將游標置於檔案的最尾端, 然後新增換行(或回車換行),例如按鍵盤上的 Enter 鍵即可達成。

  • 網路功能

    本版次在網路功能 API 方面有下列的已知錯誤和限制:

    如果您的應用程式使用網路功能類別,則其在 Winsock 1.1 下可能無法穩定執行。如果您的網路功能應用程式必須支援 Windows 95(其包含 Winsock 1.1),您會希望應用程式的使用者備有 Winsock 2.0(Windows NT 4.0、Windows 2000、 Windows ME 和 Windows 98 都包含 Winsock 2.0)。您可從下列網址下載 Winsock 2.0:

    http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/

    下列 URL 含有關於如何判定 Windows 95 平台上是否安裝了 Winsock 2.0 元件的資訊:

    http://support.microsoft.com/support/kb/articles/Q177/7/19.asp

    若沒有 Winsock 升級,則當名稱查閱失敗時,則 InetAddress.getByName 有可能會在 kernel32.dll 中損毀。關於此錯誤的資訊,請參閱 Microsoft 網站。

    http://support.microsoft.com/support/kb/articles/Q176/3/54.ASP

    JavaTM Plug-in 元件

    下列注意事項是有關本版本中的 Java Plug-in 元件。

    本土化注意事項

    有關本版次中的國際語言環境支援的一般資訊,請參閱本土化注意事項

    說明文件

    下列註解是有關本版次的文件問題。

    工具無法轉換 Solaris 2.6 上的日文 PCK 字符串

    採用日文字串作為 Solaris 2.6 ja_JP.PCK 語言區 java 指令的參數時發生錯誤。 若要解決此問題,請將行 89 /usr/java/bin/.java_wrapper
    exec $DEBUG_PROG "$prog" $opts "$@"
    
    變為
    exec $DEBUG_PROG $prog $opts $@
    

    繁體中文文字問題

    下列為本版本中存在的已知繁體中文字型問題。

    支援 Windows 2000

    在英文語言環境中,Java 2 SDK 的 1.3.1 版受 Windows 2000 Professional、 Windows 2000 Server、Window 2000 Advanced Server 支援。Windows 2000 的 DataCenter 修訂版則不受支援。在非英文語言環境中, 僅支援 Windows 2000 的 Professional Edition。已知的 Windows 2000 問題包括:

    Windows NT 上安裝

    在安裝 Java Runtime Environment 的 1.3.1 版時,C:\Winnt\Downloaded Program Files\Java Runtime Environment 1.3.1 下的 ActiveX Control 檔案具有「損壞」狀態。 這只是表面問題,「損壞」狀態在任一情況下都沒有負面影響。

    不過,若您因某些原因沒有損壞狀態,這裡也有一個解決方案。轉至「開始 -> 執行」,然後鍵入「regedit」。從 regedit 視窗,至登錄項「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\8AD9C840-044E-11D1-B3E9-00805F499D93\DownloadInformation」。 按兩下 INF 字串,並刪除「Value data」下突出的字串。ActiveX Control 檔案將具有「安裝」狀態。


    Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.

    Sun