1

我正在使用 java.net.URL,它在我的工作站上运行良好,直到它被部署到亚马逊弹性 map-reduce 中,总是给我这个错误。我正在使用openjdk1.7.0。

线程“Thread-969”中的异常 java.lang.ClassFormatError:类文件 javax/servlet/http/HttpServlet 中非本机或抽象的方法中缺少代码属性

        URL url = null;
    HashMap<String, Object> refererHash = new LinkedHashMap<String, Object>();
    try {
        url = new URL(referrer);
        String protocol = url.getProtocol();
        if(protocol != null){
            refererHash.put("protocol", protocol);
        }
        HashMap<String, String> params = parseParameters(url.getQuery());
        String path = url.getPath();

有没有人遇到同样的问题?

4

1 回答 1

2

这根本不是 URL 解析的问题。它实际上是一个类加载问题,它(可能)是由使用某些 JAR 文件的“存根”版本引起的。检查您的依赖项。专门检查提供HttpServlet类的依赖项。

这是一篇博客文章,讨论了这个奇怪/不寻常的错误。

于 2013-08-27T04:35:36.480 回答