简体   繁体   English

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

[英]Cant compile and run java code in IntelliJ IDEA

Using InteliJ IDEA version 12.1.6 I wanted to run the example from the Horstmann's 'Core Java' book: 使用InteliJ IDEA版本12.1.6我想从Horstmann的“核心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);
    }
}

But I get the following error: 但是我收到以下错误:

"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

At the same time when compiling and executing a file in the command line everything is working correctly. 在命令行中编译和执行文件的同时,一切正常。 Excuse me for such a question, I just started learning Java. 对不起这个问题,我刚开始学习Java。 :) :)

Sergey, it's look like you are working wrong with Idea. 谢尔盖,看起来你的想法是错误的。 There is a step-by-step tutorial at wiki , that describes some basic concepts, about roots, run configurations, sdk-s and dependencies. wiki上有一个分步教程,它描述了一些基本概念,关于根,运行配置,sdk-s和依赖关系。 It will be good, if you look at it. 如果你看一下它会很好。 ( Exploring the project structure and Building(Running) the project especially) (特别探索项目结构建设(运行)项目

IDE is a great helper to learn language, especially such intellegent one, as Idea, so, it will be a good start, to get familiar with it. IDE是学习语言的好帮手,特别是像智能这样的智能语言,因此,熟悉它将是一个良好的开端。

Basically, for a start, all your code(not compiled classes) must be under the source roots, and runConfiguration must specify application entry point (class with static void main() method). 基本上,首先,所有代码(非编译类)必须位于源根目录下,runConfiguration必须指定应用程序入口点(具有static void main()方法的类)。

You shouldn't think about class files, jar archives or command line tools, IDEA can do all this for you. 你不应该考虑类文件,jar档案或命令行工具,IDEA可以为你做这一切。

Better concentrate on learning, as I think! 正如我想的那样,更好地专注于学习!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM