2013-11-27 4 views
4

Использование InteliJ IDEA версии 12.1.6 Я хотел запустить пример из книги HORSTMANN в «ядро Java»:Брус компиляции и запуска Java-код в IntelliJ IDEA

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. :)

+1

Проверьте исходные корни. Класс приветствия должен находиться под каталогом, помеченным как источник (синий в представлении проекта). – Seagull

+0

Чайка, я вручную переместил файл, созданный с помощью javac (когда я запускаю Build - Make Project, я не вижу, что был создан файл .class) в команде запросите папку ** src **, но она не отображается в представлении проекта. Я все еще получаю ошибки. –

+0

Добавили ли src dir в исходные тексты проекта? – StanislavL

ответ

2

Сергей, похоже, что вы работаете неправильно с идеей. Существует пошаговое руководство по адресу wiki, в котором описываются некоторые основные понятия, о корнях, конфигурациях запуска, sdk-s и зависимостях. Будет хорошо, если вы посмотрите на него. (Изучение структуры проекта и Строительство (Running) проект особенно)

IDE является отличным помощником в изучении языка, особенно такой Intellegent один, как идея, так, что это будет хорошим началом, чтобы получить знакомый с этим.

В принципе, для начала все ваши коды (не скомпилированные классы) должны находиться под корнями источника, а runConfiguration должна указывать точку входа приложения (класс с методом static void main()).

Вы не должны думать о файлах классов, архивах jar или инструментах командной строки, IDEA может сделать все это за вас.

Лучше сконцентрируйся на учебе, как я думаю!

Смежные вопросы