我是Java初学者,正在尝试使用IntelliJ运行我的代码,我刚刚将它安装为JDK 1.7的IDE。下面这段代码甚至不能编译,并不断给我错误:

Error: Could not find or load main class libTest

Code

import java.lang.Integer;
import java.lang.String;
import java.lang.System;
import java.util.*;

class book {

    private String name = "trial";
    private int bookCode=1;
    private int issued=0;

     public void Issue(){
         if(issued==0) {
             issued=1;
             System.out.println("You have succesfully issued the book");
         }
         else {
             System.out.println("The book is already issued. Please contact the librarian for further details");
         }
    }

    public int checkCode() {
        return bookCode;
    }

    String readName() {
        return name;
    }

    public void setName(String newName){
        name=newName;
    }

    public void setBookCode(int newCode){
        bookCode=newCode;
    }
}

class library {
    private ArrayList books=new ArrayList();

    public void getList(){
        for(int bk:books){
            String bName=books(bk).readName();
            System.out.println((bk+1)+")  "+bName);
        }
    }
}

public class libTest{
    public static void main(String[] args){
        library newLib= new library();
        System.out.println("code working");
   }
}

有任何改变,我必须在编译器设置??或者是代码。


当前回答

在我的案例中,在模块的构建中。gradle mainClassName赋值必须声明完全限定的类名,即。与主类源代码文件中指定的包名相同。

其他回答

modules.xml有错误的内容,我不知道我的IDEA有什么问题。

检查你的类模块:我在intellij遇到了这个问题: 我有一个maven多模块项目,问题是我运行的类不存在的模块配置,所以我的问题是通过设置正确的模块(“编辑配置”->“使用模块类”)

希望这对你有所帮助

我们在文件/项目结构.. 答案可能是:

表示为“content root”的文件夹需要一个代码所在的子文件夹。 另外,找到将代码标记为排除和不排除的按钮。 不要与表示排除而不说明在哪个阶段和什么**的复选框混淆 是编译器排除还是运行时排除?你注定要接受考验和抽签。 所以没有那个复选框,只有图标和颜色。

作为一个想法,我们需要破解它最初被认为是如何工作的。他们从来没有把它放在第一位,并开始以过早的编码方式添加东西。 已经这么多年了,你不能指望有任何改善。 但作为治疗,我们可以想出一些方法,让它每次都正确。

这里可以检查的另一件事是传递给JVM的实际命令,并确保它看起来正常。滚动到Run控制台的顶部,它应该是第一行。

“运行配置虚拟机选项”字段中的空格将使应用程序启动命令格式不正确,并可能导致此错误消息

-DsomeArgument="arg with space must be quoted"

在intelliJ中创建项目后,尝试运行以下命令:

mvn package