繁体   English   中英

HtmlUnit 第一步

[英]HtmlUnit first steps

我正在尝试使用 HtmlUnit 设置我的第一个示例程序。 这是代码:

import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.WebClient;


public class test {

public static void main(String[] args) throws Exception {

    WebClient client = new WebClient();
    HtmlPage currentPage = client.getPage("http://www.oddsportal.com/matches/soccer");
    client.waitForBackgroundJavaScript(10000);
    String textSource = currentPage.asXml();
    System.out.println(textSource);

}

}

然后我编译:

javac -cp lib/htmlunit-2.9.jar 测试.java

但是当我尝试执行测试时,我得到

java-cp lib/htmlunit-2.9.jar 测试

线程“main”中的异常 java.lang.NoClassDefFoundError: test Caused by: java.lang.ClassNotFoundException: test at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 在 java.security.doPcessingMethod(security.doPcessingMethod) ) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java .lang.ClassLoader.loadClass(ClassLoader.java:266) 找不到主 class: 测试。 程序将会退出。

问题出在哪里? 我缺少其他一些包裹?

您可能必须将当前路径添加到类路径中。

在 Unix/Linux/Mac 上:

java -cp .:lib/htmlunit-2.9.jar test

在 Windows 上:

java -cp .;lib/htmlunit-2.9.jar test

编辑htmlunit 实际上需要更多的 jars 而不仅仅是 htmlunit-2.9.jar。 因此,考虑到所有需要的 jars 都位于 lib/ 目录中,您实际上应该调用以下命令:

在 Unix/Linux/Mac 上:

java -cp .:lib/* test

如果您从 shell 运行此命令,您还需要转义通配符(使用“\”)或将整个类路径放在引号内以避免 shell 扩展。

在 Windows 上:

java -cp .;lib/* test

这有效:

java -cp.:lib/* 测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM