Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将应用程序从Java1.6降级到Java1.5_Java_Java 6_Java 5_Downgrade - Fatal编程技术网

将应用程序从Java1.6降级到Java1.5

将应用程序从Java1.6降级到Java1.5,java,java-6,java-5,downgrade,Java,Java 6,Java 5,Downgrade,我有一个用Java编写的小应用程序,它在JRE_1.6上进行了测试和运行。现在我需要在JRE_1.5上运行它。我修改了源代码,使之符合Java1.5的要求,并且项目编译得很好 问题是它使用了许多预编译库,如opencsv-2.3,这些库是用Java 1.6编译的,因此调用它们的任何类都会导致Java.lang.UnsupportedClassVersionError 大多数是com.apachelibs++opencsv-2.3++org.jdom 我如何确定哪些库确实需要更换?如何替换需要它的

我有一个用Java编写的小应用程序,它在JRE_1.6上进行了测试和运行。现在我需要在JRE_1.5上运行它。我修改了源代码,使之符合Java1.5的要求,并且项目编译得很好

问题是它使用了许多预编译库,如
opencsv-2.3
,这些库是用Java 1.6编译的,因此调用它们的任何类都会导致
Java.lang.UnsupportedClassVersionError

大多数是
com.apache
libs++
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.)
只有在没有其他选项出现的情况下,我才会选择createby

唯一确定的方法是在库中举例说明一个类(假设为同一版本构建的所有类)

版本表如下所示

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

有关更多详细信息,请参见@Peter Lawrey,例如opencvs:


清单文件(manifest.MF)位于jar中的META-INF文件夹中。

我遇到了同样的问题,我刚刚用JDK 1.5在OpenCSV中重建了源文件-问题解决了

您可能需要找到该库的旧版本,如果它们可用的话……嗯,是的,我可能需要。但第一部分是找出哪些库需要更换。“如何替换”部分实际上指的是,如果没有旧版本库,可以做什么。二进制文件是否可以以某种方式重新编译?如果提供了源代码,您可能会尝试重新编译源代码,但这取决于使用哪个版本的java来编写库代码。这使生活变得简单了一些。您可能会发现它的设计非常有用,因为它可以使类向后兼容。我本人从未使用过它,但它的目的是生成与Java1.4兼容的类。
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