2014-01-28 45 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文件夾路徑。

如果設置仍然錯誤正在進行,然後檢查環境變量中您已設置的所有路徑。現在你會發現一條更老的路徑也是你的新路徑。更改該路徑或刪除。

一直記得窗口檢查從左側的路徑。如果您已經用分號設置了路徑,並且左側存在任何舊路徑,那麼舊路徑將從左側獲取。

現在你得到了什麼是實際問題