【问题标题】:Java Program not executing outside the bin directory and compilesJava 程序不在 bin 目录外执行并编译
【发布时间】:2014-01-28 21:20:02
【问题描述】:

我将 java 的版本从 jdk6 更新到 java7,但是每当我在 bin 目录之外执行任何 java 文件时,它都会显示未找到类编译 java 文件,java 类也存在于同一目录中,但 java 无法执行类文件。我搜索它得到类似 java -cp 的东西。 classfilename 但它也因说非法参数 cp 而失败。请帮助。 here is the image 这是我的java文件

     <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

【问题讨论】:

  • MotionDetector 在什么包中?
  • 该目录中有“MotionDetector.class”吗?它是否有任何包名(例如,该类实际上是com.example.MotionDetector
  • 我对以 public 开头的类也有同样的问题,
  • 请发布您使用的完整和准确 命令以及您获得的完整输出。该图像为 180x100 像素,因此无法阅读,但您需要将其作为文本发布在您的问题中,因为链接会过时/腐烂。
  • @DavidConrad 是的“MotionDetector.class”在目录中...这个问题对于所有 java 程序都很常见,甚至 helloworld 程序不在 bin 外执行。

标签: java path classpath java-7 illegalargumentexception


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    如果设置仍然有错误,那么检查你设置的环境变量下的路径中的所有路径。现在您会发现新路径之前也有一条旧路径。更改该路径或删除。

    永远记住 windows 从左侧检查路径。如果您在末尾设置了分号路径,并且左侧存在任何旧路径,则从左侧获取旧路径。

    现在你知道什么是实际问题了

    【讨论】:

      猜你喜欢
      • 2011-05-08
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多