Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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
Java JSOUP未解析编译:未为类型连接定义ignoreHttpErrors()_Java_Jsoup - Fatal编程技术网

Java JSOUP未解析编译:未为类型连接定义ignoreHttpErrors()

Java JSOUP未解析编译:未为类型连接定义ignoreHttpErrors(),java,jsoup,Java,Jsoup,我在使用调用时遇到此错误 线程“main”java.lang中出现异常。错误:未解析编译 问题:方法ignoreHttpErrors(boolean)对于 类型连接 我的设置是否存在引用问题? 知道怎么修吗 Eclipse验证代码时没有任何错误和警告 以下代码无法编译 try { Connection.Response response = Jsoup.connect(url) .userAgent("Mozilla/5.0

我在使用调用时遇到此错误

线程“main”java.lang中出现异常。错误:未解析编译 问题:方法ignoreHttpErrors(boolean)对于 类型连接

我的设置是否存在引用问题? 知道怎么修吗

Eclipse验证代码时没有任何错误和警告

以下代码无法编译

try {

            Connection.Response response =   Jsoup.connect(url)
                    .userAgent("Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5")
                    .timeout(10000)
                    .followRedirects(false)
                    .ignoreHttpErrors(true)  // <--- Underlined red in eclipse plus the error msg
                    .execute();

            int statusCode = response.statusCode();
            System.out.println("received status code : " + statusCode);
            if(statusCode == 200) {
                System.out.println("Found : " + statusCode);                    
            }
            else if(statusCode == 404){
                System.out.println("Not Found : " + statusCode);                    
            }
            else if(statusCode == 302){
                System.out.println("Page Moved : " + statusCode);                   
            }

        } catch (SocketTimeoutException e) {
            System.out.println("Timeout occured");

        } catch (IOException e) {
            System.out.println("I/O problem");
        } 
输出

file:/C:/opt/glassfish/glassfish/modules/bean-validator.jar
file:/C:/opt/glassfish/glassfish/modules/bean-validator.jar
嗯,完全不是我所期望的。我在EAR的库目录中有jsoup-1.6.3.jar。调用代码位于EAR中打包的EJB中

想法?

自年以来,
ignoreHttpErrors()
方法是新的。显然,在类路径的某个地方仍然有一个较旧版本的Jsoup,它在类加载中具有优先权

要确定它在类路径中的确切位置,请执行以下命令

System.out.println(Connection.class.getProtectionDomain().getCodeSource().getLocation());

其中,
连接
显然是Jsoup连接。然后,应该在给定位置删除重复的旧版本JAR文件。

噢,您是在Java EE Web应用程序中运行这个吗?我一点也没想到会这样,我希望一个普通的Java应用程序具有
main()
方法,就像您在所有地方使用
System.out.println()
一样。。。无论如何,只要在Java EE webapp的类路径覆盖的所有路径中搜索
jsoup*.jar
文件:)您就可以通过
ClassLoader#getResources()
传递一个空字符串来获得所有这些路径,其中
ClassLoader
是从当前线程上下文获得的。是的,我只是在做一些基本的PoC测试。感谢您在类路径问题上提供的帮助,稍后我将不得不回到这里。
System.out.println(Connection.class.getProtectionDomain().getCodeSource().getLocation());