Google maps 如何获得与java 1.5编译器兼容的gwt-maps-3.0 api jar
我在一家变化缓慢的大公司工作。我们正在部署到Weblogic 10.2环境中,并且仍然使用Java1.5。这不是GWT库的问题,但我们下载的GWT-maps-3.0.2b.gwt22.jar版本是使用1.6编译器构建的。有人知道1.5版本是否可用吗 既然源代码在jar中,那么是否可以用1.5编译器重建呢?如果是,是否有人有构建脚本来执行此操作 --一些附加信息 我们正在尝试升级一些现有代码,这是他们在海上遇到的第一个错误。他们得到的编译错误是: o错误:“类文件的版本50.0错误,应为49.0” 我使用以下方法检查了jar文件Google maps 如何获得与java 1.5编译器兼容的gwt-maps-3.0 api jar,google-maps,gwt,Google Maps,Gwt,我在一家变化缓慢的大公司工作。我们正在部署到Weblogic 10.2环境中,并且仍然使用Java1.5。这不是GWT库的问题,但我们下载的GWT-maps-3.0.2b.gwt22.jar版本是使用1.6编译器构建的。有人知道1.5版本是否可用吗 既然源代码在jar中,那么是否可以用1.5编译器重建呢?如果是,是否有人有构建脚本来执行此操作 --一些附加信息 我们正在尝试升级一些现有代码,这是他们在海上遇到的第一个错误。他们得到的编译错误是: o错误:“类文件的版本50.0错误,应为49.0”
公共静态void main(字符串[]args)引发IOException{
对于(int i=0;i
}
} }
您必须从谷歌代码下载源代码:
--不,这不行。页面上的所有版本都是使用1.6构建的,我可以通过下载源代码、注释掉@Override注释(1.5中要求父级中的方法有一个实现)并重新编译模块来解决这个问题。我的坏消息我忘记了注释格式。您可以尝试codeweaver修改字节码,使1.6JAR与1.5VM兼容。我为一个小图书馆编辑了它,它成功了。我不知道谷歌地图api是否会成功,也不确定许可证是否允许。这可能是最后的策略,但我怀疑我们会在某个时候遇到字节码问题。此外,它不能只对jar执行,它必须对jar中的每个类文件执行。它有望应用于完整的jar内容。用法示例:。无论如何,通过源代码,您可以编写一个脚本来执行@Override操作,并使用JavaC1.5重新编译。如前所述,我对旧的OSGi运行时也有同样的问题,这是一个痛苦的问题:/3.8预发行版的rearme文件有1.5或更高的编译器要求,但也是使用1.6编译器构建的。我最终能够实现这一点,但我不得不修改源代码以删除1.6注释。据我所知,这并没有造成任何问题。
private static void checkVersion(String classFileName) throws IOException {
DataInputStream in = new DataInputStream(new FileInputStream(classFileName));
int magicNo = in.readInt();
if (magicNo != 0xCAFEBABE) {
System.err.println(classFileName + " is not a valid class file name");
return;
}
int minor = in.readUnsignedShort();
int major = in.readUnsignedShort();
System.out.println(classFileName + ": " + major +"." + minor);
in.close();
}