在项目IntelliJ IDEA:Java应用程序中找不到主类

时间:2019-01-19 01:30:10

标签: java intellij-idea

IntelliJ在我的Java应用程序项目中找不到主类。该项目是从git存储库克隆的,因此没有运行配置。我转到“编辑配置”,添加一个新的“应用程序”模板,转到“主类”:它显示“在项目中找不到匹配项”。

因此,手动搜索层次结构时,我找到了包含主要功能的.java文件,但该文件不将其作为主要类。我已经粘贴了下面的文件,以证明它具有正确的主要功能。

public class AdvanceWarsGameHandler implements IGame
{

    private Image mImage;
    private String mTitle;

    public AdvanceWarsGameHandler()
    {
        mTitle = "Advance Wars Game";
        mImage = new Image("/OffBrandCerealOopsAllCarries2-01.png");
    }

    //Game logic unrelated to graphics goes here
    @Override
    public void update(Game game, float deltaTime) 
    {

    }

    //Update, but for graphics
    @Override
    public void render(Game game, Renderer renderer) 
    {
        renderer.drawImage(mImage, game.getInput().getMouseX(), game.getInput().getMouseY());
    }

     public static void main(final String args[])
    {
        //Creating and starting an instance of AdvanceWarsGameHandler
        AdvanceWarsGameHandler advancewars = new AdvanceWarsGameHandler();
        Game myGame = new Game(advancewars);
        myGame.start();
    }

    public String getTitle()
    {
        return mTitle;
    }

}

问题是,为什么IntelliJ项目无法识别此文件中的主要功能,或者IntelliJ在寻找什么作为应用程序的“主要类”?

1 个答案:

答案 0 :(得分:0)

好的,希望这个答案能对不熟悉IntelliJ IDEA的人有所帮助。

解决方案分为两部分

第1部分:缺少编译目录。

由于我不是从新建项目创建的,而是克隆了一个Git存储库,因此没有设置默认的编译目录。

要在IntelliJ IDEA中访问此文件,请转到文件-> 项目结构-> 项目,然后设置“项目编译器输出”,以便项目实际上可以编译。

第2部分:设置模块

原始项目是在具有包的Eclipse中创建的。为了使这些程序包在IntelliJ中工作,我必须转到“项目结构”菜单的模块选项卡,并将src和res文件夹设置为Source和Resource文件夹。这使IntelliJ可以在我的类中找到main()函数,并且程序按预期运行。

这解决了我的问题,尽管如果您有任何IntelliJ用户可以看到我为使其正常工作所做的任何事情,请发表评论。