-1

我正在尝试实现以下内容:

 public class Main {
     public static void main(String[] args) {
    //READ FILE IN
         String filename = args[0];
         System.out.println(filename);
      }}

这编译得很好,但是当我尝试运行时,java br/com/seimos/minijava/Main.java < a或者java br/com/seimos/minijava/Main.java a例如,我得到一个错误。为什么??(顺便说一句,我需要得到它才能做到java br/xx/xx.../xx

谢谢!

编辑:对不起,我一开始打错了。java我没有跑javac

我得到的错误是:

Exception in thread "main" java.lang.NoClassDefFoundError: br/com/seimos/minijava/Main/java
Caused by: java.lang.ClassNotFoundException: br.com.seimos.minijava.Main.java
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
4

3 回答 3

0

运行 Java 程序是一个两步过程。首先将.java文件编译成.class文件。然后使用java命令执行类文件。运行时参数显然必须在调用时在运行时传递java

于 2012-11-02T06:01:30.020 回答
0

您不在compile-time传递参数,而是在runtime传递。

javac --> compiles your Java program
java --> runs the generated bytecode

java br/com/seimos/minijava/Main.java -args
                                   ^ remove (.java)

Java 运行时运行生成的.class字节码,它是提供的名称,而不是未编译的.java

于 2012-11-02T06:05:25.147 回答
0

编译时,如果java文件带有某个包,需要申请br.com.xxx.main.java等。如果这只是 java 文件的路径就可以了。你可以发布错误吗?

于 2012-11-02T06:05:34.023 回答