2016-02-14 4 views
4

Check this Image Я использую Intellij IDEA и получаю эту ошибку. Мой код,intelliJ IDEA: java.lang.ClassNotFoundException

import java.io.BufferedReader; 
import java.io.BufferedWriter; 
import java.io.FileReader; 
import java.io.FileWriter; 
import java.io.IOException; 
public class Pres 
{ 
    public static void main(String[] args) throws IOException{ 
    BufferedReader br = new BufferedReader(new FileReader("kk.data")); 
    BufferedWriter bw = new BufferedWriter(new FileWriter("samlog.csv")); 
    String line; 
    while((line=br.readLine())!=null) 
    { 
     String[] values =line.split(" ",-1); 
     bw.write(values[0]+","+values[3]+","+values[5]+"\","+values[6]+ ","+values[8]+"\n"); 
    } 
    br.close(); 
    bw.close(); 
} 
} 

окно ошибки

Exception in thread "main" java.lang.ClassNotFoundException: siimport.Pres 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:264) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122) 

Process finished with exit code 1 

Что может быть проблема, которая в результате этой ошибки и как можно решить?

+0

Этот код, похоже, не вызывает такого исключения. Вы используете этот код с помощью другого класса? Поскольку ваш журнал ошибок говорит 'com.intellij.rt.execution.application.AppMain.main (AppMain.java:122)', и, похоже, что-то не так с вашей фазой сборки или сборки, и он не может найти ваш скомпилированный класс для запуска. – STaefi

+1

Как я могу решить эту проблему @Staefi – Raghu

+0

Имеет ли ваш настоящий код такое объявление пакета с синтаксической ошибкой: 'papackage si;'? – STaefi

ответ

3
Exception in thread "main" java.lang.ClassNotFoundException: Main 

В перспективе конфигурации/отладки вы написали имя неправильно класса для поля Main класса. Имя класса должно быть классом, который должен иметь метод main.

Эта ошибка может также произойти, если вы не создали или не выбрали конфигурацию запуска/отладки для класса. Чтобы создать его, используйте Редактирование конфигураций ->Добавить новый под элементом дерева приложений или из редактора нажмите Alt-Shift-F10 и выберите файл для запуска. Конфигурация будет добавлена ​​автоматически. Для выбора текущей конфигурации запуска/отладки используйте раскрывающееся меню на панели инструментов.

Обычно я предпочитаю, чтобы выбрать из меню Run ->Run, но, как @Bajal упоминалось в комментариях, вы можете щелкнуть правой кнопкой мыши на файл из структуры Project и выберите Выполнить от всплывающее меню или нажмите Ctrl-Shift-F10.

+0

Я сохранил файл как ** Pres.java **, но при нажатии предложенных клавиш он показывает _Main_ и почему он не отображается _Pres_ – Raghu

+0

Я только что создал файл и работает как есть. Но, где проблема сохраняется, как вы сказали вначале. – Raghu

+0

Вы пытались щелкнуть правой кнопкой мыши по файлу (либо в представлении проекта, либо в окне редактора) и выбрать запуск? – Bajal

1

Подобно тому, как в сторону, я имел эту проблему и решить ее как конфигурация запуска использует «Использование Classpath модуля» ProjectName

я изменил его от того, к

«Использование Classpath модуля «ProjectName_main

, и это заставило его работать - мне лично не нравится, как они добавили эти вспомогательные модули, но я думаю, если вы используете такие вещи, как gradle/maven, вам придется смириться с ним в Intellij.