【问题标题】:Are all dependencies in a Java Maven project added to the classpath?Java Maven 项目中的所有依赖项是否都已添加到类路径中?
【发布时间】:2023-02-23 01:15:36
【问题描述】:

当我构建一个所有依赖项都添加到类路径的项目时会发生什么?

【问题讨论】:

  • 是的。该项目是使用类路径上的依赖项构建的。默认情况下,它不会在生成的 jar 文件中包含依赖项。
  • 我的意思是......主要是,是的。有些可能只在编译时添加,有些只是为了运行,有些只是为了测试,但“被添加到类路径”是依赖项存在的主要原因。老实说,我不太确定你想在这里了解什么。
  • 我不明白反对票。如果有人可以指出明确解释的文档/参考,我很乐意关闭/删除问题。
  • This section 描述了在哪些场景下将哪些依赖项放在类路径中。

标签: java maven


【解决方案1】:

否是简短的答案,但答案很复杂,因为它通常是肯定的,但不一定。

这完全取决于你在做什么。如果您正在编译为 war、Quarkus 或 SpringBoot jar,这些插件将在类路径上包含 <compile><runtime> 依赖项。如果您正在做任何其他事情,则所有赌注都将取消,但答案是“通常是,但谁知道呢”。

在编译阶段,所有<compile><provided> 依赖项都在javac 路径上。对于大多数“正常”构建,<provided> 应该在运行时删除,但同样,如果您偏离了人迹罕至的路径,那么所有赌注都将被取消。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 2020-10-13
    • 2017-01-14
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    相关资源
    最近更新 更多