我正在尝试从HTMLUnit教程执行这段代码
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");但是在Eclipse中保存它时,我会在第二行中获得MalformedURLException (如果我编译并运行代码,我也会得到它)。有什么问题吗?提亚
PS:我是Java新手
Up:
下面是堆栈跟踪:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/auth/CredentialsProvider
at Tester.main(Tester.java:12)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.auth.CredentialsProvider
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 1 more发布于 2009-12-22 16:33:55
我在Eclipse3.5中尝试了这一点,它工作正常,并且测试正在通过。我假设您已经在项目中包含了必要的HTMLUnit JAR?我将HTMLUnit lib目录中的所有JAR添加到项目的构建路径中。
另外,您能捕获异常并在这里发布堆栈跟踪吗?
try {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());
}
catch (Exception e) {
e.printStackTrace();
}发布于 2013-07-11 08:38:41
package com.project.test;
import java.io.IOException;
import java.net.MalformedURLException;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class Practice1 {
public static void main(String[] args) {
final WebClient webClient = new WebClient();
HtmlPage page;
try {
page = (HtmlPage) webClient.getPage("http://htmlunit.sourceforge.net");
System.out.println("Title="+ page.getTitleText());
} catch (FailingHttpStatusCodeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}发布于 2013-07-11 09:47:38
因为在你的堆叠痕迹里
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.auth.CredentialsProvider这不是格式错误的URL异常。
作为org.apache.commons.httpclient.auth.CredentialsProvider,经JARFinder证实类应该来自commons 3.*..jar。因此,问题的原因必须是您的类路径中没有通用的HTTPClient 3.x JAR。
https://stackoverflow.com/questions/1947326
复制相似问题