无法在IntelliJ IDEA中编译和运行java代码

无法在IntelliJ IDEA中编译和运行java代码,java,intellij-idea,Java,Intellij Idea,使用InteliJ IDEA 12.1.6版,我想运行霍斯特曼《核心Java》一书中的示例: public class Welcome { public static void main(String[] args) { String[] greeting = new String[3]; greeting[0] = "Welcome to Core Java"; greeting[1] = "by Cay Horstmann";

使用InteliJ IDEA 12.1.6版,我想运行霍斯特曼《核心Java》一书中的示例:

public class Welcome
{
    public static void main(String[] args)
    {
        String[] greeting = new String[3];
        greeting[0] = "Welcome to Core Java";
        greeting[1] = "by Cay Horstmann";
        greeting[2] = "and Gary Cornell";

        for (String g : greeting)
        System.out.println(g);
    }
}
但我得到了以下错误:

"C:\Program Files\Java\jdk1.7.0_45\bin\java" -Didea.launcher.port=7533 "-Didea.launcher.bin.path=C:\Program Files (x86)\IntelliJ IDEA\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_45\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext\zipfs.jar;C:\Program Files (x86)\IntelliJ IDEA\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain Welcome
Exception in thread "main" java.lang.ClassNotFoundException: Welcome
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)

Process finished with exit code 1

在命令行中编译和执行文件的同时,一切都正常工作。请原谅我提出这样一个问题,我刚刚开始学习Java。:)

谢尔盖,看来你的想法是错误的。在上有一个分步教程,介绍了一些基本概念,包括根、运行配置、sdk-s和依赖项。 如果你看的话,那就好了。(探索项目结构构建(运行)项目尤其如此)

IDE是学习语言的好帮手,特别是像Idea这样的智能语言,所以,熟悉它将是一个很好的开始

基本上,首先,所有代码(非编译类)都必须位于源根目录下,并且runConfiguration必须指定应用程序入口点(使用
static void main()
method的类)

您不应该考虑类文件、jar归档或命令行工具,IDEA可以为您完成所有这些


我认为最好集中精力学习

请检查您的源根。Welcome类应该位于标记为source(项目视图中为蓝色)的目录下。Seagull,我在命令提示符下手动将使用javac创建的文件(当我运行Build-Make Project时,我看不到.class文件已创建)移动到src文件夹,但是它没有显示在项目视图中,我仍然得到错误。您是否将src dir添加到项目源?如果您指的是项目结构-项目设置-模块-源选项卡,那么是的。我通过将文件Welcome.java而不是Welcome.class传输到src文件夹来解决问题。现在一切都正常了。所以所有的my.java文件都应该放在目录中,添加到选项卡Sources中?