不使用命令行编译的基本java程序

时间:2016-02-18 20:59:43

标签: java compilation

package test 
    public class test{
        public static void main (String args[]) throws Exception{

            System.out.println("testing");
       }
     }

我使用以下命令编译

javac test.java  -Xlint -g

我使用以下命令执行

java test 

这给了我错误

  

错误:无法找到或加载主类测试

现在我强烈怀疑我的java会发生一些奇怪的事情,因为eclipse也会让我无论如何都会崩溃。

4 个答案:

答案 0 :(得分:2)

你的类路径没有当前目录。 (点)。 添加它或将test.class放到现有路径上就可以了。 最简单的方法是像这样运行java: java -classpath。测试 阅读更多关于classpath的信息。

答案 1 :(得分:1)

我已复制您的代码并使用您指定的相同命令执行它,并显示“testing”作为输出。

任何机会,课程中的“测试”都是? 如果是这样,您可以通过进入包目录然后运行编译命令成功编译它,但是当您从该目录运行它时会出错。你必须在目录的一个级别上运行该类。

例如:如果test.java在名为abc的包中,那么你可以转到'c:\ example \ abc \',其中c:\ example是一个假定的目录,并编译它,它会编译得很好。 但是为了运行它,你必须在目录上一级并运行。所以你必须去c:\ example \然后像'java abc.test'那样运行

答案 2 :(得分:1)

你是否在一个包下定义你的类,如果是这样,请在执行时使用完全限定的路径,即package / className?

答案 3 :(得分:1)

如果该类是单独包的一部分,那么您只需要将该包添加到类路径中,如上所述。此外,只要您没有指定要存储在您给出的命令中的类文件的文件路径就应该正常运行。主要思想是将java文件编译到同一目录中的类文件中,并在对该文件执行java命令时,它会搜索具有您要执行的控制台名称的类文件。