【问题标题】:Compiling a bunch of stuff in the folder (java, on a mac)编译文件夹中的一堆东西(java,在mac上)
【发布时间】:2010-04-04 04:41:46
【问题描述】:

两个问题:

  • 如何编译一个 .java 文件 不在我的用户名上(比如 在文件或其他一些子 文件夹)
  • 如果我有多个 .java 文件并且我 编译一个包含方法的 包含在其他的 编译器编译那些其他文件。

这是第二个问题的示例。

example1.java:

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

example2.java:

class example2 
{  
     method () 
} 

当我编译 example1.java 时,example2.java 也会被编译吗?

【问题讨论】:

    标签: java class compilation


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 你可以用-cp标志设置classpath,然后传入要搜索的目录列表,语法类似于设置系统PATH变量的冒号分隔语法
    • 好吧,我不知道该怎么做,所以你为什么不写一个让所有事情都明确的答案,我会按照你的方式抛出一两个 upbote。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    相关资源
    最近更新 更多