Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 包含的Jsoup库将编译但不运行_Java_Jsoup_Noclassdeffounderror - Fatal编程技术网

Java 包含的Jsoup库将编译但不运行

Java 包含的Jsoup库将编译但不运行,java,jsoup,noclassdeffounderror,Java,Jsoup,Noclassdeffounderror,我正试图探索Java中的webscraping,我只是从一个非常基本的Jsoup程序开始。我很确定我所做的事情存在某种路径问题。我尝试了不同的变体,为了让它工作,我简化了这个过程,将库包含在与源文件相同的目录中(在我弄清楚发生了什么的同时简化路径)。以下是我一直在做的事情和结果: javac -cp jsoup-1.7.3.jar URLParse.java 上面的编译没有错误(当我将jar放在自己的文件夹中并指定了路径时,它也编译得很好),当我尝试运行程序时,会发生以下情况: java -c

我正试图探索Java中的webscraping,我只是从一个非常基本的Jsoup程序开始。我很确定我所做的事情存在某种路径问题。我尝试了不同的变体,为了让它工作,我简化了这个过程,将库包含在与源文件相同的目录中(在我弄清楚发生了什么的同时简化路径)。以下是我一直在做的事情和结果:

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词汇表链接,我将看一看,希望能更好地掌握类路径。