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