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

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

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

解决方法

如果你不熟悉它,你应该研究 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作为目标目录执行,它将创建与.java文件对应的.class文件.但目的地不必被称为bin;如果你愿意的话,你可以称之为Freddy或者dumbass,尽管这可能会让人们习惯于垃圾箱或者建造.

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

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...