2012-04-29 10 views
1

Java 1.5プロジェクトをJava 1.4に書き直す必要があります(1.5を飲み込めないツールがいくつかありますので、書き換えが必要です)。Java 1.5から1.4の書き換え

1.4でこれらのスニペットをコンパイルするにはどうすればよいですか?そのためのツールはありますか?

private FooList<Bar> list = new FooList<Bar>(...); 

public List<Bar> function(Baz baz) {...} 

public Iterator<Bar> iterator() {...} 

EDIT: 私はソースを書き換える必要がある、.jarsは私のプロジェクトのためには無関係です。私は書き直しが正しいことと、コンパイラが受け入れ可能でなければならないことを表現するためにコンパイルすることを述べました。

+0

「jsr14」をターゲットとした1.5/1.6でコンパイル - http://alblue.bandlem.com/2010/10/compiling-java-generics-with-14.html唯一の問題はGenericsの使用である場合 –

+0

* (1.5を飲み込めないツールがいくつかあるので、書き換えが必要です) "*本当ですか?最新のもの? 2012年に?ほぼ8年後? –

+0

@ T.J.Crowder:はい、JMLのものです。 – pbp

答えて

1

Declawerのようなツールを使用してツールを使用しますが、基本的にはJava 1.5ソースのディレクトリを介して実行され、Java 1.4同等のソースを出力します。 1.5のすべての機能をサポートしているわけではありません。

3

私は

https://stackoverflow.com/questions/603828/java-5-to-java-1-4-source-code-backporting-tool

https://stackoverflow.com/questions/547872/converting-java-1-5-source-into-1-1-source

別のオプションをアップグレードすることです がhttp://retroweaver.sourceforge.net/

しかし、あなたの質問に答えるために、あなたが試みることができるのJava 1.4へのJava 5.0のクラスを変換するツールを使用しますあなたのシステム。 Java 6はすぐにEOLになり、Java 1.4は10歳になります。そう

Bar bar = function(null).get(0) 

がでしょう、あなたはリストからオブジェクトを取得するとき、あなたはなるだろうオブジェクトを

+3

あなたは念頭に置いていますか? – Jeffrey

+1

@Jeffreyその有効なコメントIMHO。私は古い質問の前に答えを追加しましたが、それをやめなければなりません。 ;) –

0

のJava 1.4は、ジェネリックをサポートしていないので、それはもちろん

public List function(Baz baz) {...} 

、のように終わるだろう(オブジェクトをBarに割り当てるには、明示的なキャストが必要です)。

0

宣言の型を削除します。これらの型のオブジェクトを返すメソッドの場合は、取り除いた型にキャストを追加します。

0

「ちょうど」1.4バイナリが必要な場合は、RetroWeaver - http://retroweaver.sourceforge.net/を使用して、ジャーを変換できます。私はJava 1.4を対象としたいくつかのプロジェクトでこれを使用し、うまく動作することを確認しました。

関連する問題