title: Java command error. Couldn't find or load main class
body: <p>Today I meet a problem with "java" command.
  I work in Intellij IDEA and think that I wrong classpath to "java" command.
  Please, help me.</p>
  
  <pre><code>package ru.mch;
  import ru.mch.RunTask;
  
  public class Program {
      public static void main(String[] args) {
          String taskCode = "class UserProgram{ public static void main(String[] args) { int b = 3 + 1; System.out.println(b);}}";
          String packageName = "package ru.mch; ";
          String all = packageName + taskCode ;
          RunTask runTask = new RunTask(all);
          int result = runTask.run();
      }
  }
  </code></pre>
  
  <p>I want to get program code from String, create new java class, write code to the class and compile and run new java class. </p>
  
  <pre><code>package ru.mch;
  import java.io.*;
  
  public class RunTask {
  
      private String answerFromPage;
      private int programExitValue;
  
      public RunTask(String answerFromPage) {
          this.answerFromPage = answerFromPage;
          this.programExitValue = 0;
      }
  
      private static void printLines(String name, InputStream ins) throws Exception {
          String line = null;
          BufferedReader in = new BufferedReader(
                  new InputStreamReader(ins));
          while ((line = in.readLine()) != null) {
              System.out.println(line);
          }
      }
  
      private static int runProcess(String command) throws Exception {
          Process pro = Runtime.getRuntime().exec(command);
          printLines(/*command + */" stdout:", pro.getInputStream());
          printLines(" stderr:", pro.getErrorStream());
          pro.waitFor();
          System.out.println(command + " exit value = " + pro.exitValue());
          return pro.exitValue();
      }
  
      public int run(){
          //String fileName = "src\\main\\java\\ru\\mch\\UserProgram.java";
          String fileName = "src\\main\\java\\ru\\mch\\UserProgram.java";
          File f = new File(fileName);
          f.getParentFile().mkdirs();
          try {
              f.createNewFile();
          } catch (IOException e) {
              throw new IllegalArgumentException("File creating error");
          }
          try(FileWriter writer = new FileWriter(fileName, false))
          {
              writer.write(this.answerFromPage);
              writer.flush();
          }
          catch(IOException ex){
              System.out.println(ex.getMessage());
          }
          try {
              System.out.println(runProcess("javac -sourcepath src src\\main\\java\\ru\\mch\\UserProgram.java"));
              System.out.println("------------");
              this.programExitValue = runProcess("java src\\main\\java\\ru.mch.UserProgram");
          } catch (Exception e) {
              e.printStackTrace();
          }
          return this.programExitValue;
      }
  }
  </code></pre>
  
  <p>This is IDEA log :</p>
  
  <pre><code>javac src\main\java\ru\mch\UserProgram.java exit value = 0
  0
  ------------
  Error: Could not find or load main class src\main\java\ru.mch.UserProgram
  java src\main\java\ru.mch.UserProgram exit value = 1
  </code></pre>
  
  <p>New class was created and .class too. 
  I try to write full classpath, try to write '\' instead of '.' in package name, but all is wrong. 
  Sorry for my bad English.</p>