Java 包含的Jsoup库将编译但不运行
我正试图探索Java中的webscraping,我只是从一个非常基本的Jsoup程序开始。我很确定我所做的事情存在某种路径问题。我尝试了不同的变体,为了让它工作,我简化了这个过程,将库包含在与源文件相同的目录中(在我弄清楚发生了什么的同时简化路径)。以下是我一直在做的事情和结果:Java 包含的Jsoup库将编译但不运行,java,jsoup,noclassdeffounderror,Java,Jsoup,Noclassdeffounderror,我正试图探索Java中的webscraping,我只是从一个非常基本的Jsoup程序开始。我很确定我所做的事情存在某种路径问题。我尝试了不同的变体,为了让它工作,我简化了这个过程,将库包含在与源文件相同的目录中(在我弄清楚发生了什么的同时简化路径)。以下是我一直在做的事情和结果: javac -cp jsoup-1.7.3.jar URLParse.java 上面的编译没有错误(当我将jar放在自己的文件夹中并指定了路径时,它也编译得很好),当我尝试运行程序时,会发生以下情况: java -c
javac -cp jsoup-1.7.3.jar URLParse.java
上面的编译没有错误(当我将jar放在自己的文件夹中并指定了路径时,它也编译得很好),当我尝试运行程序时,会发生以下情况:
java -cp jsoup-1.7.3.jar URLParse.java
Exception in thread "main" java.lang.NoClassDefFoundError: URLParse/java
Caused by: java.lang.ClassNotFoundException: URLParse.java
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: URLParse.java. Program will exit.
以下是代码,以防出现帮助:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
public class URLParse{
public static void main(String[] args){
String URL = "http://www.google.com";
try{
Document doc = Jsoup.connect(URL).get();
System.out.println("Ok here");
String title = doc.title();
System.out.println(title);
} catch (IOException e){
e.printStackTrace();
}
}
}
感谢您的帮助或建议。我认为这里的问题是,您没有在classpath变量中包含包含主类代码的目录
java -cp jsoup-1.7.3.jar URLParse.java
应该是
java -cp .:jsoup-1.7.3.jar URLParse
在Mac/Linux和
java -cp .;jsoup-1.7.3.jar URLParse
在窗户上。请注意,您尝试运行的类中没有包含.java
假设您有类似的目录结构: 您正在尝试运行您需要的
URLParse
类:
java -classpath testPackage/jsoup-1.7.2.jar:. testPackage.URLParse
有关更多详细信息,请参阅《你好,哈尔福克斯》,谢谢您的回复。我正在运行Linux,我尝试了你的建议,它已经过时了。嗨,Sandeep,谢谢你花时间回复。现在正在执行。感谢您发布Java词汇表链接,我将看一看,希望能更好地掌握类路径。