在Linux上运行Java时出错:无法找到或加载主类

Q L*_*Liu 4 java classpath jvm-arguments command-line-arguments

我收到上述错误,这里的答案没有帮助.

基本上我似乎无法运行我用Java编译的文件.我试图运行的文件HowMARK_II_FitsInBrainAnatomy.java就在这里

我使用以下命令在末尾:.-cp参数中编译所有需要的.jars和当前目录:

javac -cp /home/ugrads/majors/quinnliu/workspace/WalnutiQ/build/libs/WalnutiQ.jar:/home/ugrads/majors/quinnliu/workspace/WalnutiQ/referencedLibraries/gson-2.2.4.jar:. HowMARK_II_FitsInToBrainAnatomy.java

所以在我使用上面的命令后,我创建了编译文件HowMARK_II_FitsInToBrainAnatomy.class但是运行该文件的以下命令在这个问题的标题中给出了ERROR:

java -cp /home/ugrads/majors/quinnliu/workspace/WalnutiQ/build/libs/WalnutiQ.jar:/home/ugrads/majors/quinnliu/workspace/WalnutiQ/referencedLibraries/gson-2.2.4.jar:. model.MARK_II.vision.HowMARK_II_FitsInToBrainAnatomy

当我加入:.我的时候,我看不出我做错了什么-cp

Ark*_*tos 6

当你说,

java -cp jars-to-add:. model.MARK_II.vision.HowMARK_II_FitsInToBrainAnatomy
Run Code Online (Sandbox Code Playgroud)

因为你的类有像这样的包声明

package model.MARK_II.vision;
Run Code Online (Sandbox Code Playgroud)

您需要使用完全限定类名来调用main()您正在执行的类,但还需要从正确的目录执行命令.

model/MARK_II/vision当你调用这个javac命令时,我认为你已经在你的目录中了,你需要从这个目录出来并从包含所有这些目录的目录执行命令,如下所示

DirectoryToExecute
    --model
       --MARK_II
        --vision
          --HowMARK_II_FitsInToBrainAnatomy.class
Run Code Online (Sandbox Code Playgroud)

所以我建议你cd到那个目录,然后调用上面的命令,然后它会工作:)

在类似的问题上看看这个答案.