编译文件夹中的一堆东西(java,在mac上)

时间:2010-04-04 04:41:46

标签: java class compilation

两个问题:

  • 如何编译.java文件 不是我的用户名(喜欢的东西 在文件或其他一些子 文件夹)
  • 如果我有多个.java文件和我 编译包含方法的那个 包含在其他人做的 编译器编译那些其他文件。

这是第二个问题的一个例子。

example1.java:

class example1
{ 
main () {
    example2.method () }
}

example2.java:

class example2 
{  
     method () 
} 

当我编译example1.java时还会编译example2.java吗?

1 个答案:

答案 0 :(得分:3)

Java可以通过两种方式查找引用的文件:源路径或类路径。

源路径告诉javac在哪里找到.java源文件。如果它需要编译它们会。它会将它们放在指定的输出目录中。

类路径告诉javac在哪里可以找到已编译Java类的.class文件。 Java将使用它们来解析外部引用(例如example2)。

因此,在您的情况下,Java将使用现有的example2,如果它可以在类路径中找到一个。如果不能,它会在源路径中找到一个并编译它(如果类文件在某些​​情况下也存在,它也会这样做)。如果它在源路径中找不到它,那就是编译错误。