通过命令行在linux中编译Java类

时间:2013-05-08 21:34:01

标签: java compilation junit4

您好,感谢您抽出宝贵时间回答我的问题。

我的根文件夹中有两个文件(〜/)。 Main.Java和TestMain.java。 Main.java编译并运行顺利。另一方面,TestMain没有。 TestMain基本上是一个测试类,我使用JUnit来处理不同的场景。我在TestMain中实例化Main,但问题是编译器找不到Main.java。

以下是代码:

    user@linuxbox ~ $ javac -cp junit-4.10.jar TestMain.java 
    TestMain.java:8: error: cannot find symbol
                Main mainClass = new Main();
                ^
      symbol:   class Main
      location: class TestMain
    TestMain.java:8: error: cannot find symbol
                Main luckyStrings = new Main();
                                                ^
      symbol:   class Main
      location: class TestMain
    2 errors

如何让Main类可用于MainTest.java类?非常感谢!

2 个答案:

答案 0 :(得分:6)

在classpath选项中,您已将类路径设置为 only junit-4.10.jar。您还必须包含Java文件所在的当前目录。

javac -cp "junit-4.10.jar:." TestMain.java

这包括两个路径--JUnit和当前目录,由:分隔。 (如果这是Windows,那么您将使用;作为分隔符。)

答案 1 :(得分:1)

只是另一个输入......

-d可用于指定编译类文件的目标目录

javac -d . -cp "junit-4.10.jar:." TestMain.java