Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/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
Google maps 如何获得与java 1.5编译器兼容的gwt-maps-3.0 api jar_Google Maps_Gwt - Fatal编程技术网

Google maps 如何获得与java 1.5编译器兼容的gwt-maps-3.0 api 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”

我在一家变化缓慢的大公司工作。我们正在部署到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文件

  • 构建了以下程序:

    导入java.io.*

    公共类检查版本{
    公共静态void main(字符串[]args)引发IOException{
    对于(int i=0;i 检查版本(args[i]);
    }
    }

    }

  • 提取了jar文件,例如“jar xvf gwt-maps3-0.2b.jar”

  • 运行以下命令:“find.-name*.class | xargs java CheckVersion | cut-d':'-f2 | sort-u”

  • 您必须从谷歌代码下载源代码:


    --不,这不行。页面上的所有版本都是使用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();
    }