我是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");
   }
}

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


当前回答

显式地创建一个out文件夹,然后将输出路径设置为C:\Users\USERNAME\IdeaProjects\PROJECTNAME\out

在刚刚发布的时候似乎对我有用,期望IntelliJ制作文件夹不会。


还可以尝试IntelliJ为您创建一个新的运行配置:

通过单击找到上一个

然后移除

点击ok。

现在,(重要步骤)打开包含主方法的类。单击左侧Project Pane中的类名可能是最简单的方法。

按Alt + Shift + F10,你会得到一个

现在按回车键!!

Tadah ? ? (有用吗?)

其他回答

打开模块标签(按Ctrl+Shift+Alt+S)。我在一个项目下有两个模块。我在移除第二个冗余模块后解决了这个问题(见截图)。

当类在默认文件夹中,即类没有声明包时,我就遇到过这样的问题。

所以我猜使用包语句(例如。将org.me.mypackage;)打包到类顶部应该可以修复它。

在尝试了几乎每一个建议在这一步,我仍然不走运。在两台不同的机器上试过。请教一位有经验的同事。

最后:我的问题的解决方案,可能是问题的原因:

在我的mac电脑上,其中一个文件夹名称包含一个正斜杠,就是这样

(我们在共享驱动器上使用了(深度)嵌套的文件夹结构;我的同事在Windows上工作,对路径中的正斜杠没有问题)

注意:虽然我想在这个线程上提供我的答案,但我从stackoverflow得到了一个“警告”,那里已经有超过30个答案。但他,对我毫无用处。因为这是一个可以追溯到2012年的线索,在2023年仍然活跃,有很多答案(以及同一个问题的原因)。我决定在这里也加入我的50美分。希望它能帮助和节省一些人的时间!!

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

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

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

只需重新构建项目(CTRL+F9),并再次检查(编辑配置),如果你有一个正确设置的主类和模块(如果有的话)