【问题标题】:Eclipse classpath vs buildpathEclipse 类路径与构建路径
【发布时间】:2016-11-28 07:13:13
【问题描述】:

我对 Eclipse 运行/调试配置类路径和 java 项目的构建路径感到困惑。我对它们的不同有一些想法,但不完全确定我是正确的。如果我错了或遗漏了什么,请纠正我......

  1. 当您右键单击 Java 项目并单击配置构建路径时。它实际上是在修改该项目的 .classpath 文件....据我了解,此文件中列出的 jar 文件...是 所需的库>编译项目。
  2. 在 Eclipse 的 Run/Debug Configurations 窗口下,有一个 Classpath 选项卡。 执行项目需要此选项卡下的 Jar 文件。

第一季度。我对么?可以添加任何其他信息吗?

第二季度。有一次,我已经编译了项目并开始了它......它运行良好,直到我使用其中一个函数,系统抛出 classNotFound 异常......后来我在 Buildpath中添加了一个丢失的 jar > 并且该功能再次起作用。所以,我在这里很困惑。如果 Buildpath 用于编译项目....这意味着我不应该能够编译并首先启动项目。但事实并非如此。我在这里错过了什么吗?为什么我不应该将缺少的 jar 添加到类路径而不是构建路径?

【问题讨论】:

标签: eclipse classpath buildpath


【解决方案1】:

是的,“.classpath”文件中指定的类和jars在编译项目的源代码时使用,但在项目中的类的运行配置中默认使用相同的类和jars。

有时,运行项目时需要一些类,但在编译项目时实际上并不需要这些类。这有不同的原因,但总的来说,这意味着引用的类不是在源代码中直接引用,而是通过某种基于反射的过程间接引用。

【讨论】:

  • 感谢您回答我的问题,卡尔先生。如果我在项目构建路径中添加一个 jar: ABC .....这是否意味着它会在我运行/调试项目时自动包含在内?或者我需要手动完成(在 Eclipse 环境下)。你也可以给我一个例子,当lib只需要运行/调试配置而不是构建路径时。
  • 同样,构建路径中的资源会自动用于项目中类的运行配置。关于间接引用,这是通过反射完成的。查找“java反射”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
  • 2012-11-22
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多