繁体   English   中英

传统上,你在哪里存储Java .class文件?

[英]Where do you store Java .class files, conventionally?

我有一个Java src文件夹,我在其中存储我的.java文件。 然后我使用Terminal编译它们并最终在同一目录中获取.class文件。 这不一定会打扰我,但我从未见过这是专业的。

通过专业约定(如果存在),在项目目录中的哪个文件夹中应该存储已编译的.class文件?

如果您不熟悉它,则应该查看Java类路径的主题。 我记得在我第一次开始使用Java编程时发现这种混乱。

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

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

如果从命令行运行javac ,则-d参数指定.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 ; 如果你愿意的话,你可以称之为Freddy或者dumbass ,尽管这可能会让人们习惯于bin或者build

很多时候一个Java程序或库建立的时候, .class文件只是朝着建立一个.jar文件(实际上就是用一个.zip格式的临时步骤.jar扩展,包含.class文件和一点点元数据),当您实际运行它们时,如果将它包含在类路径中,Java将使用.jar文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM