您好我正在尝试使用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
我做错了什么?
答案 0 :(得分:5)
更新:这里的原始答案完全错误。您必须指定源文件的路径。 -sourcepath
用于其他目的:
指定搜索类或接口的源代码路径 定义。与用户类路径一样,源路径条目是 以分号(;)分隔,可以是目录,JAR存档或 ZIP档案。如果使用包,则使用本地路径名 目录或存档必须反映包名称。
请注意,Java应用程序还有许多其他构建工具非常成熟且备受推崇。 Maven,Gradle和Ant是那些立即浮现在脑海中的人。如果您不必使用make
,我会看看其中一个。