将应用程序从Java 1.6降级到Java 1.5

svz*_*svz 3 java downgrade java-5 java-6

我有一个用Java编写的小应用程序,经过测试并在JRE_1.6上运行.现在我需要针对JRE_1.5运行它.我改变了我必须符合Java 1.5要求的源代码,并且项目编译得很好.

问题是它使用了许多预编译的库opencsv-2.3,这些库是用Java 1.6编译的,因此调用它们的任何类会产生一个java.lang.UnsupportedClassVersionError.
他们中的大多数是com.apachelibs + opencsv-2.3+org.jdom

如何确定哪些库确实需要替换?如何替换需要它的库?

UPD:我怎能取代部分实际上代表"有什么可以,如果没有旧的图书馆做什么?" 有没有办法降级已编译的库,或者我是否需要在1.5上找到类似的解决方案并重写代码?

Pet*_*rey 5

我建议你查看每个库的清单中的行

Bundle-RequiredExecutionEnvironment: J2SE-1.3
X-Compile-Target-JDK: 1.5
Build-Jdk: 1.5.0_22
Created-By: 1.6.0_21-b07 (Sun Microsystems Inc.)
Run Code Online (Sandbox Code Playgroud)

如果没有其他选项出现,我只会接受create by.

确切知道的唯一方法是在库中示例一个类(假设所有类都是为相同版本构建的)

javap -v -classpath net\sf\trove4j\trove4j\3.0.2\trove4j-3.0.2.jar gnu/trove/list/TLongList | grep version

  minor version: 0
  major version: 49
Run Code Online (Sandbox Code Playgroud)

版本表是

major  minor Java platform version 
45       3           1.0
45       3           1.1
46       0           1.2
47       0           1.3
48       0           1.4
49       0           1.5
50       0           1.6
51       0           1.7
52       0           1.8
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请访问http://en.wikipedia.org/wiki/Java_class_file