Java HtmlUnit第一步

Java HtmlUnit第一步,java,classpath,htmlunit,noclassdeffounderror,Java,Classpath,Htmlunit,Noclassdeffounderror,我正试图用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(

我正试图用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 test.java

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

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

线程“main”java.lang.NoClassDefFoundError中出现异常:测试 原因:java.lang.ClassNotFoundException:测试 在java.net.URLClassLoader$1.run(URLClassLoader.java:217) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:205) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:321) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:266) 找不到主类:test。程序将退出


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

您可能需要将当前路径添加到类路径

在Unix/Linux/Mac上:

java -cp .:lib/htmlunit-2.9.jar test
java -cp .:lib/* test
在Windows上:

java -cp .;lib/htmlunit-2.9.jar test
java -cp .;lib/* test
编辑 htmlunit实际上需要更多的jar,而htmlunit-2.9.jar只是其中之一。因此,考虑到所有这些必需的JAR都位于lib/目录中,您实际上应该调用以下内容:

在Unix/Linux/Mac上:

java -cp .:lib/htmlunit-2.9.jar test
java -cp .:lib/* test
如果从shell运行此命令,还需要转义通配符(使用“\”)或将整个类路径放在引号中以避免shell扩展

在Windows上:

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

您可能需要将当前路径添加到类路径

在Unix/Linux/Mac上:

java -cp .:lib/htmlunit-2.9.jar test
java -cp .:lib/* test
在Windows上:

java -cp .;lib/htmlunit-2.9.jar test
java -cp .;lib/* test
编辑 htmlunit实际上需要更多的jar,而htmlunit-2.9.jar只是其中之一。因此,考虑到所有这些必需的JAR都位于lib/目录中,您实际上应该调用以下内容:

在Unix/Linux/Mac上:

java -cp .:lib/htmlunit-2.9.jar test
java -cp .:lib/* test
如果从shell运行此命令,还需要转义通配符(使用“\”)或将整个类路径放在引号中以避免shell扩展

在Windows上:

java -cp .;lib/htmlunit-2.9.jar test
java -cp .;lib/* test
这项工作:

java-cp.:lib/*test

这项工作:

java-cp.:lib/*test


好的,环顾四周后,我发现了为什么这条线没有解决您的问题。这是因为你有不止一个罐子在里面。因此,您实际上需要列出它们或在路径中使用通配符。这是因为你有不止一个罐子在里面。因此,您实际上需要将它们全部列出或在路径中使用通配符。