JavaのマスターになったOracleは、意図せずにEclipseを破りました

今月( 投稿日は7月28日-およそPer。 )、OracleはJavaの新しいバージョン1.6.0_21(別名6u21)をリリースしました。 残念ながら、Eclipseユーザー 、このバージョンがEclipseおよびEclipse Rich Client Platform(RCP)プログラムと互換性がないことをすぐに発見しました。



eclipseバグ追跡システムのバグ319514には、printscreenシェルに関するこの問題の説明が含まれており、Oracleがjava.exeファイルパラメーターの会社名を「Sun Microsystems、Inc」から「Oracle」に変更したことが明らかでした。 この変更は、公式のリリースノートには含まれていません。 皮肉なことに、Eclipseは2007年からこのパラメーターに関連付けられており、日食が開始されなかったためにSunが設定した「MaxPermSize」パラメーターの小さな値に関連する別の問題を解決しました。 しかし、環境が変わると、この修正も機能しなくなり、多くのユーザーが「PermGen」に問題を抱えました。



Oracleは月曜日、バージョン6u21の更新で応答し、以前の値を返しました。 さらに、JDK 7では、「Oracle」が会社のボックスに再び表示されることが明確に述べられました。 開発者の 1人が書いたものを次に示します。

Sunのすべての製品をOracleにブランド変更する手順の1つは、Java SE 6u21で行われたjava.exeファイルのCompany Nameパラメーターの値を変更することでした。



新しいバージョンがjava.sun.comに投稿された後、WindowsでのEclipseユーザーの作業に新しい変更が影響したという多くのクレームを受け取りました。 すべてのデータおよび回避策の問題は、Eclipse Webサイトですぐに指摘されましたが、新しいバージョンの雪崩のような分布は、ますます多くの新しいユーザーに影響を与えました。 これを理解し、Eclipseと何千人ものユーザーの希望を考慮して、OracleはCompany Nameパラメーターの値を「Sun Microsystems」に戻しました。



変更はWindowsのバージョンにのみ影響し、SolarisおよびLinuxのバージョンは適切に機能しました。 これをWindowsで動作させるために、バージョンが6u21-b06から6u21-b07に変更された新しいビルドがリリースされました。 SolarisおよびLinuxでは、ビルド6u21-b06は引き続き出荷されました。



エンジニアリング部門は、Javaでは、java.vendorおよびjava.vm.vendorパラメーターの値はjdk6リリースのいずれでも変更されず、「Sun Microsystems、Inc.」のように見えることに注意します。 プロバイダーの名前が多くのプログラムのパフォーマンスに重大な影響を与えることがわかりました。 また、Windowsでは、問題の原因である「COMPANY」フィールドがexe / dllに対して明示的に示されていました。 一般的に、私たちにとって、誰かが一般的にそのようなパラメーターに結びついていることは大きな驚きでした。 これを念頭に置いて、jdk6リリースでは、COMPANYフィールドが復元されました。 ただし、jdk7リリースでは、java.vendorやjava.vm.vendorなど、会社名を指すすべてのパラメーターに最終的な変更が加えられます。



今朝、 公式のダウンロードページに Eclipseで動作するバージョンがあることを確認しました。 java -versionが呼び出されたときにコマンドラインに表示される内容は次のとおりです。



C:\> java -version

java version “1.6.0_21″

Java(TM) SE Runtime Environment (build 1.6.0_21-b07)

Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)








Windowsの32番目または64番目のバージョンのJavaをダウンロードした場合、このバージョンがb06ではなく1.6.0_21-b07と呼ばれることを確認してください。



All Articles