2011-02-04 4 views
1

私はJava 6.0でプログラムを作成しましたが、一部のクライアントには5.0しかないことが判明しました。自分のプロジェクトでJavaソースコードを使用する

問題は6.0が持っている多くの機能がまだ5.0になかったことです。たとえば、次のように

  • JTableのソート、フィルタリング機能
  • SwingWorkerのクラス

、私の質問は:

  1. はちょうど私自身のプロジェクトには、Java 6.0のソースコードをコピーすることが合法です5.0 jreのクライアントで実行できます。
  2. 技術的な観点からは、TableRowSorter、regexFilterのようなクラスのソースコードを自分のプロジェクトにコピーして動作させるのは難しいですか?

あなたからコピーされたソースコードに依存おかげ

+0

IMHOでは、コピーされたコードのサポートも検討する必要があります。報告されるバグをどのように修正するよう提案していますか?また、OpenJDK 6のコードベースはSun JDK 6のコードベースとは異なります。私は弁護士ではありませんが、Sun(現在のOracle)JDKのコードをコピーすることは問題になることは明らかです。 –

+2

クライアントのJavaランタイムを最新のものにすることを強くお勧めします。 J2SE 5の終焉は2007年に始まりました。Java 5にセキュリティホールを見つけようとしています。セキュリティホールを活用してアップグレードを促すことができます。 – jarmod

+0

@jarmod、Java 5はJava for Businessでも引き続き価格でサポートされています。 http://www.sun.com/software/javaforbusiness/getit_download.jsp。 –

答えて

0

。 JavaSEから? OpenJDK?

どこからコピーする場合も、コードのライセンスを確認してください。

コピーは単純で、クラスとその依存関係だけをコピーすることができます。しかし、それは多くの時間を消費することができる特定の依存関係がたくさんある可能性があります。バージョン5で既に存在していた変更されたクラスをコピーしなければならないときには、実際には問題が発生します。コードには1つのバージョンが必要で、もう1つは新しいコードになります。しかし、あなたがそのプロジェクトでJava6コードを使用しているだけなら、それは問題ないはずです。クラスを別のパッケージに移動することもオプションになる可能性がありますが、潜在的には多くの作業もあります。

1

質問する必要がある質問は、なぜクライアントがJava 6.0にアップグレードされていないのですか?それは自由で簡単なので、理由があるに違いありません。コードを送信する前に、それが何であるかを知るべきでしょう。

2

おそらく、OpenJDKのクラスはGPLの下にあります。つまり、ソースをGPLの下に置く必要があります。オラクルのJavaクラスも「ソースを使ってやりたいことだけではできません」の下にあるので、これは非常に悪い考えです。

Retroweaverを使用すると、以前のバージョンのJavaでソースを動作させることができますが、Java 5でコードを動作させる必要があります(必要に応じてJava 6機能を使用します)。彼らはアップグレードから得られるものです。

+0

"..アップグレードからどのようなものが得られるかをお客様に伝えてください。 "これまでのところ、このスレッドのコメント。 –

関連する問題