当前位置: 首页 > 知识库问答 >
问题:

Java“-cp”选项,编译时还是运行时?

孟高峰
2023-03-14

这两个类路径能完全不同吗?

共有1个答案

昌博易
2023-03-14

javajavac命令接受-cp-classpath...意思相同。

曾几何时,javac只接受-classpath

这两个类路径[由java和javac使用]能完全不同吗?

为什么相同的内容两次?

因为内容(类路径)没有被编译到代码中。

更深层次的答案是,Java程序通常由组件(例如库)组成,这些组件独立编译,然后在运行应用程序时汇集在一起。每个组件构建都需要一个不同的类路径...根据其依赖关系。而当您将所有部分放在一起时,可能需要另一个不同的类路径。因此需要能够在编译时和运行时以不同的方式指定类路径。

 类似资料:
  • 下面是代码 在类中,我使用参数10/3调用方法(如代码中所示)。由于callMtd在baseClass中重载,默认情况下应该调用哪个版本?因为它是重载的,方法绑定应该在编译时发生,但是10/3的计算能在编译时发生吗?

  • 我有以下几点: 操作是在编译时还是在运行时完成的?换句话说,在运行时,上述代码段和以下代码段之间是否存在性能差异: 编辑:我的问题不同于Java编译器是否会预先计算文字的总和?,因为我在算术运算中混合使用变量和文字。虽然差别很小,但正如@TagirValeev在评论中指出的(对文本的算术运算是在编译时还是在运行时计算的?),有些情况下,某些文字没有预先编译,即使它们可能是。

  • 但我的问题是,如果它不使用AspectJ进行编织,那么Spring AOP是否有自己的编织,它是在加载时还是编译时执行? 我的Spring配置XML文件的相关部分是:

  • android { compileOptions { sourceCompatibility = "1.6" targetCompatibility = "1.6" } } 默认值是“1.6”。这个设置将影响所有task编译Java源代码。

  • 编译选项 选项 类型 默认值 描述 --allowJs boolean false 允许编译javascript文件。 --allowSyntheticDefaultImports boolean module === "system"或设置了--esModuleInterop 允许从没有设置默认导出的模块中默认导入。这并不影响代码的输出,仅为了类型检查。 --allowUnreachableCo

  • 问题内容: 我有一个文件和。 当我进行调试构建时,我得到: 如何将添加到基础任务?关于Java编译选项的Gradle插件用户指南无济于事。 问题答案: 我根据有关操作任务的Gradle插件用户指南和有关JavaCompile的Gradle DSL文档 找到了以下解决方案: 添加到: 应用程序变体在Gradle的配置阶段,所需的任务也不存在,因此我在执行阶段进行了修改。