1

私の質問の動機は単純です。残念ながら、Oracle は Java 6 の開発を中止し、追加のビルドを提供しません。Oracle がセキュリティ上の問題を発見した場合、Java 7 でのみ修正します。Java 6 で開発された大きなプロジェクトがあり、それを Java 7 に変換するリソースがありません。

そのため、JDK 6 (6u45) の最後のビルドでコードをコンパイルし、JDK 7 の最新のビルドで実行したいと考えています。

この場合、バイト コードは JDK 7 で修正された脆弱性に対してオープンになりますか?

追加した

Oracle Java SE Critical Patch Update の例: http://www.oracle.com/technetwork/topics/security/javacpuapr2013-1928497.html

残念ながら、次のセキュリティ パッチは JDK 6 に適用されません。

最新の質問は、Java 6 バイト コードを再コンパイルせずに、最新の JRE 7 を使用してコードを実行する必要があるかどうかです。または、最新の JDK を使用してコードを再コンパイルし、最新の JRE を使用して実行する必要がありますか?

4

1 に答える 1

4

脆弱性が仮想マシンまたは API にある場合、Java 7 で実行しても脆弱性にはさらされません。コンパイラにある場合は、Java 7 でコンパイルすることで脆弱性を修正できます。

于 2013-08-21T17:55:59.193 に答える