【问题标题】:clarification of the term "is on the classpath"澄清术语“在类路径上”
【发布时间】:2015-10-22 03:37:24
【问题描述】:

当引导文档中使用短语“is on the classpath”时,对于构建 spring boot maven 项目的 linux 人员,我可以得到准确的含义吗?

  1. 在时间上并不清楚上下文:是在谈论编译或运行时间还是重新打包时间还是什么?

  2. 是不是表示jar/manifest在当前项目目录的子目录下,比如target/...classes

  3. 是不是说jar在pom里了

  4. 对于一个新手,我阅读了 wikipedia 和 oracle 的解释,但这似乎意味着不同的东西,或者这意味着我应该天生就知道 maven 在构建过程中对类路径进行了某种修改.

  5. 或者在运行时重新打包的 jar 怎么办?

  6. 有没有人会怜悯一个新手并帮助我完成学期?

【问题讨论】:

  • 我认为这字面意思是一个特定的文件夹需要在你的 CLASSPATH 环境变量中:docs.oracle.com/javase/tutorial/essential/environment/…
  • you 不能更准确地了解您要询问的“在类路径上”的哪个实例吗?我敢肯定,根据您所谈论的上下文/章节,它可能意味着不同的东西;即一次它可能指的是打包时间,另一次它可能指的是运行时间。

标签: java maven spring-boot


【解决方案1】:

我试着回答你的问题:

  1. 您可以有一个编译类路径以及一个运行时类路径(Maven 也有一个测试类路径)。它们可能不同,因此这取决于上下文,即指的是哪一个。

  2. 从技术上讲,目录结构是什么并不重要,因为您可以将磁盘上的每个目录添加到类路径中。

  3. 如果您使用 Maven,则只有在 POM 中定义的 JAR 会自动添加到编译类路径(也用于打包)。

  4. Maven 在构建过程中使用不同的类路径。例如。编译它使用提供或编译范围内的所有依赖项并将它们添加到类路径中。为了进行测试,将测试范围内的其他依赖项添加到类路径中以编译和执行测试。

【讨论】:

    猜你喜欢
    • 2021-02-03
    • 2018-09-28
    • 1970-01-01
    • 2011-10-09
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多