无法在简单Java应用程序上找到或加载主类

无法在简单Java应用程序上找到或加载主类,java,web-scraping,jsoup,classpath,Java,Web Scraping,Jsoup,Classpath,我编译了我发现的这个简单的程序 在终端中使用此命令: javac -cp ./jsoup-1.10.2.jar Test.java 但当我试着运行它时,我认为: 错误:无法找到或加载主类 我找不到解决办法,问题在哪里?谢谢。您可能会遇到不止一个问题 Javac。可以肯定的是,按照以下方式编译Java应用程序: javac-cp./jsoup-1.10.2.jar-d。Test.java -d选项确保编译的类被放置在相应的包目录中: com/stackoverflow/q2835505/Tes

我编译了我发现的这个简单的程序

在终端中使用此命令:

javac -cp ./jsoup-1.10.2.jar Test.java
但当我试着运行它时,我认为:

错误:无法找到或加载主类


我找不到解决办法,问题在哪里?谢谢。

您可能会遇到不止一个问题

Javac。可以肯定的是,按照以下方式编译Java应用程序:

javac-cp./jsoup-1.10.2.jar-d。Test.java
-d
选项确保编译的类被放置在相应的包目录中:

com/stackoverflow/q2835505/Test.class
并且不在当前目录中。让我们确定一下(
-d
选项):

设置类文件的目标目录。目录必须已经存在,因为
javac
没有创建它。如果类是包的一部分,则
javac
将类文件放在反映包名的子目录中,并根据需要创建目录

如果未指定
-d
选项,则
javac
会将每个类文件放在与生成它的源文件相同的目录中

Java。最后,使用以下命令运行它:

java-cp.:./jsoup-1.10.2.jar com.stackoverflow.q2835505.Test
这将使用当前目录(
)和
jsoup-1.10.2.jar
作为类路径运行应用程序。当前目录是必需的,因此
java
可以找到您的
Test.class
以及JSoup jar



有关
java
命令语法的更多信息,请参阅。

我尝试了许多不同的方法,但无法运行。@geo我检测到一些问题。。。如果你有机会,请再试一次。@ Pshemo,请考虑重新打开这个问题。除了主
java
类路径错误之外,他还有一个
javac
问题。我觉得我的循序渐进的回答可能也会让其他Java初学者受益。(顺便说一句,我在回答中已经链接到了上述问题)。谢谢你,伙计@OP
但当我尝试运行它时,我接受了这个
您没有显示如何尝试运行它。您以前的命令显示了您是如何编译它的。@PauloMattos您所说的“他有一个java类路径错误以外的java问题”是什么意思
javac-cp./jsoup-1.10.2.jar Test.java
应该创建适当的.class文件(至少OP没有提到编译的任何问题)。“无法找到或加载主类”是运行
Test.class
class中的
main
方法时出现的问题。要使之成为可能,OP需要在
-cp
中指定包含它的包的位置。所有这些都在一般情况下解释。无论问题是否已关闭,您的答案仍可能对其他人有所帮助,所以我不认为有理由不让它保持关闭状态。@Pshemo我也很惊讶。。。在macOS上(至少),运行
javac
,不使用
-d.
选项,将生成的
Test.class
放在当前目录中(而不是预期的
com/stackoverflow/q283555/Test.class
路径中)。这使得使用
java
运行它变得很棘手,即使使用完整的限定类名也是如此。因此,这两个问题都是相关的……可能有帮助:
com/stackoverflow/q2835505/Test.class