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上找到类似的解决方案并重写代码?
我建议你查看每个库的清单中的行
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
| 归档时间: |
|
| 查看次数: |
2155 次 |
| 最近记录: |