您通常在哪里存储Java .class文件?

时间:2017-09-20 02:37:38

标签: java .class-file

我有一个Java src文件夹,其中存储了我的.java文件。然后我使用Terminal编译它们并最终在同一目录中获取.class文件。这并不一定会让我烦恼,但我从来没有见过这样做过的专业。

按照专业惯例(如果存在),在项目目录的哪个文件夹中应该存储已编译的.class文件?

1 个答案:

答案 0 :(得分:7)

如果您不熟悉它,您应该查看Java classpath的主题。当我第一次开始用Java编程时,我记得发现这一点令人困惑。

Java中有.class文件的定义搜索路径;当您运行设置类路径的java -cp blahblahblah时。 java -jar blahblahblah.jar打开JAR file,.jar文件的清单可能会指定类路径。默认的类路径位于当前目录中。

通常,您将Java类放在文件系统中的分层目录结构中的包中,在这种情况下,Java编译器也会将.class个文件放在相应的结构中。

如果从命令行运行javac-d argument指定.class个文件的目标根目录。

一个典型的项目看起来像这样,假设你的包被称为com.example.foo,它包含Foo.java和Bar.java:

project_dir/
   src/
      com/
         example/
            foo/
               Foo.java
               Bar.java
   bin/
      com/
         example
            foo/
               Foo.class
               Bar.class

java编译器将以-d bin作为目标目录执行,它将创建与.class文件对应的.java个文件。但目的地不必称为bin;如果您愿意,可以将其称为Freddydumbass,但这可能会让以前习惯binbuild的人感到困惑。

大多数情况下,当Java程序或库构建时,.class文件只是构建.jar文件的临时步骤(基本上只是带有.jar扩展名的.zip格式,包含.class文件和一些元数据),当你实际运行它们时,如果你把它作为类路径的一部分包含在内,它将使用.jar文件。