Genericsを含むコードをJava1.4環境向けにコンパイルする。
Javaの理論と実践: Java 5 の言語機能を以前の JDK で使う
Generics等のJava5からの新機能を含むソースコードをコンパイルする際に、javacの-targetオプションに"jsr14"を指定すると、Java1.4環境でも実行可能なバイトコードを生成してくれるそうです。上記サイトにあるとおり、Genericsはもともとバイトコードには影響しないので問題ないですが、Enumを参照しようとするとNoClassDefFoundErrorになるなど全ての機能がサポートされるわけではないので注意が必要です。
mavenだったらpom.xmlにてmaven-compiler-pluginの設定を行います。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>jsr14</target> </configuration> </plugin>