编译java文件时是否可以使用相对路径?

时间:2015-04-16 16:01:28

标签: java

您好我正在尝试使用make文件编译java类。我的make文件如下所示:

build:
    javac test_java.java
clean:
    rm -rfv *~ test_java.class
run:
    java test_java

现在我已将test_java.java移动到名为classes的文件夹中。我正在尝试使用相对路径编译文件,是否可能?

我试过了:

javac -d classes test_java.java

但我收到了错误:

javac -d classes test_java.java
javac: file not found: test_java.java
Usage: javac <options> <source files>
use -help for a list of possible options

我也尝试过:-d ./classes-d /home/the/whole/path(但我希望有相对路径),错误也是一样的。它似乎只适用于

javac classes/test_java.java

我做错了什么?

1 个答案:

答案 0 :(得分:5)

更新:这里的原始答案完全错误。您必须指定源文件的路径。 -sourcepath用于其他目的:

  

指定搜索类或接口的源代码路径   定义。与用户类路径一样,源路径条目是   以分号(;)分隔,可以是目录,JAR存档或   ZIP档案。如果使用包,则使用本地路径名   目录或存档必须反映包名称。


请注意,Java应用程序还有许多其他构建工具非常成熟且备受推崇。 Maven,Gradle和Ant是那些立即浮现在脑海中的人。如果您不必使用make,我会看看其中一个。