2014-01-28 44 views
0

我将java的更新版本从jdk6更改为java7,但是当我在bin目录之外执行任何java文件时,它显示类未找到,所以我面临严重的问题。执行但是我已经包括classpath和path.javac编译java文件和java类也存在于同一个目录中,但java不能执行类文件。我搜索它有一些像java -cp。 classfilename,但它也通过说非法参数cp.please帮助失败。 here is the image 这是我的java文件Java程序不在bin目录之外执行并编译

 <pre>  
     import java.awt.*; 
     import java.awt.event.*; 
     import javax.swing.*; 
     import java.io.*; 

     public class MotionDetector extends JFrame 
     { 
      // GUI components 
     private MotionPanel motionPanel; 


     public MotionDetector() 
      { 
     super("Motion Detector"); 

      Container c = getContentPane(); 
      c.setLayout(new BorderLayout()); 

      motionPanel = new MotionPanel(); // the sequence of pictures appear here 
      c.add(motionPanel, BorderLayout.CENTER); 

      addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent e) 
      { motionPanel.closeDown(); // stop snapping pics 
      System.exit(0); 
      } 
      }); 
     setResizable(false); 
      pack(); 
     setLocationRelativeTo(null); 
      setVisible(true); 
     } 
     public static void main(String args[]) 
      { new MotionDetector(); } 
      } 

C:\ MotionDetection> javac的MotionDetector.java

C:\ MotionDetection>的Java MotionDetector
找不到类MotionDetector

+0

'MotionDetector'包含什么包? –

+0

该目录中是否为“MotionDetector.class”?它是否有任何包名(例如,该类实际上是'com.example.MotionDetector'? –

+0

我有与公共开始的类相同的问题, –

回答

0

什么包MotionDetector in?如果它不在默认包中,则必须从包含该包的目录中调用它。例如,如果它是在包MotionDetection那么你将不得不从C:\像这样运行它:java MotionDetection.MotionDetector

+0

它是在默认包...没有包装声明完成/ – ajay154

0

只需检查你的hello程序在bin目录。如果它运行在bin中,那么问题就出现在你的类路径中。所以,现在通过设置set path=your path(不用分号)在箱外查看。如果它在设置path.thn后运行,请检查是否已在环境变量中设置了bin文件夹路径。

如果设置仍然错误正在进行,然后检查环境变量中您已设置的所有路径。现在你会发现一条更老的路径也是你的新路径。更改该路径或删除。

一直记得窗口检查从左侧的路径。如果您已经用分号设置了路径,并且左侧存在任何旧路径,那么旧路径将从左侧获取。

现在你得到了什么是实际问题