我是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赋值必须声明完全限定的类名,即。与主类源代码文件中指定的包名相同。

其他回答

我在Spring中使用IntelliJ,我的主类被包装在JAR中。 我必须在运行/调试配置对话框中标记“包含具有“提供”范围的依赖项”

在我的情况下,它有助于删除线条build.gradle

编译组:com.microsoft。Sqlserver ',名称:'mssql-jdbc',版本:'8.2.0.jre11'

我不知道为什么会发生这种情况,但是在添加指定的库之后,编译的jar停止工作

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

我遇到同样的问题,用以下方法解决:

关闭所有IDEA窗口 删除C:/Userz/xx/.IdeaIC2019.3文件夹 开放的想法

当我的Java类在src/main/kotlin目录下时,我遇到了这个问题。当我把它移到src/main/java后,问题就不存在了。