Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否只在源代码树的根目录中使用javac?这是什么意思?_Java - Fatal编程技术网

是否只在源代码树的根目录中使用javac?这是什么意思?

是否只在源代码树的根目录中使用javac?这是什么意思?,java,Java,我有一位教授,他总是坚持 “调用javac时位于源代码树的根目录中(调用java时位于目录的根目录中)。” 虽然,对于我所做的基本程序,我从未发现有必要这样做 那么,需要做什么呢?这意味着如果您有一个包,foo,并且该包中有一个或多个类: package foo; class Nifty { // ... } …并且您的源代码树看起来像(而且它必须): +来源 +福 +Nifty.java 编译时,javac将期望位于source目录中,而不是foo目录中。这就是javac的特点 ja

我有一位教授,他总是坚持 “调用
javac
时位于源代码树的根目录中(调用
java
时位于目录的根目录中)。”

虽然,对于我所做的基本程序,我从未发现有必要这样做


那么,需要做什么呢?

这意味着如果您有一个包,
foo
,并且该包中有一个或多个类:

package foo;
class Nifty {
    // ...
}
…并且您的源代码树看起来像(而且它必须):

+来源 +福 +Nifty.java 编译时,
javac
将期望位于
source
目录中,而不是
foo
目录中。这就是
javac
的特点


java
希望类路径将包括
source
(而不是
foo
),并且类似于
javac
的相关工作(在
foo
中查找包
foo
中的类).

无论是
javac
还是
java
都希望找到根据包结构排列的源文件和类文件。您的意思与Yes类似,完全一样。有很多方法可以解决这些问题,但通常最好按照教授的建议去做。因此正确使用javac的方法应该是
javac foo/Nifty.java
,而java的方法应该是
javafoo.Nifty
对吗?@Bateman:完全正确(对于*nix系统);在Windows上,它将是
javacfoo\Nifty.java
。(尽管如果它同时起作用,我也不会感到惊讶。) + source + foo + Nifty.java