Java HtmlUnit第一步
我正试图用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(
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
好的,环顾四周后,我发现了为什么这条线没有解决您的问题。这是因为你有不止一个罐子在里面。因此,您实际上需要列出它们或在路径中使用通配符。这是因为你有不止一个罐子在里面。因此,您实际上需要将它们全部列出或在路径中使用通配符。