如何将目录添加到eclipse类路径?

use*_*116 10 eclipse classpath

我正在尝试运行另一个人创建的已经存在的eclipse项目.
在将其导入eclipse并尝试运行As-> Java Application之后,它失败了,因为它无法在bin/resources中找到.properties文件

我打印出eclipse正在使用的类路径

logger.info(System.getProperty("java.class.path"));
Run Code Online (Sandbox Code Playgroud)

当然,它包括bin,以及所有lib/*.jars,但不包括bin/resources.将.properties文件复制到bin中会使程序正常工作,但我想了解如何将目录添加到eclipse类路径中.

我尝试了几件事,但都没有

export CLASSPATH=$CLASSPATH:/home/me/programdir/bin/resources
Run Code Online (Sandbox Code Playgroud)

这没用.我理解这不是解决这个问题的理想方法,但我认为它会解决问题(我有更多的窗口而不是linux背景所以也许我错过了linux中系统变量的一些细微差别)

接下来,我尝试在Eclipse中的Run-> Configurations对话框中修改VM参数

-classpath "/home/me/programdir/bin/resources"
Run Code Online (Sandbox Code Playgroud)

这里也没有运气,这让我很困惑,因为我确信它会起作用,对于需要在类路径中添加一个额外文件夹的特定程序来说,这似乎是一个合理的解决方案.

接下来我尝试直接修改build.xml.我找到了定义类路径的部分,并为bin/resources添加了我自己的行,如下所示:

<path id="classpath">
    <fileset dir="./bin/resources" includes="**/*.properties"/>
    <fileset dir="./lib" includes="**/*.jar" /> 
</path>
Run Code Online (Sandbox Code Playgroud)

这也是不成功的.这让我更加困惑,所以我注释掉了整个路径元素,并且记录器打印出的类路径没有改变,所以很明显,无论使用什么类路径eclipse,它肯定不是这个.在我看来这是最好的解决方案,如果它有效:build.xml文件可以使用正确的添加进行检查,以防止将来的用户遇到问题.

接下来我尝试了IDE方法.运行 - >配置 - >类路径 - >用户条目 - >高级,只需添加bin/resources文件夹.这完美,程序找到属性文件,一切都很好.但是,我不满意我以前的努力失败了,没有我真正理解为什么.似乎每个人都应该工作.

另外,我想确保以这样的方式修复此问题,即我检入的代码捕获它,以便后续用户不必执行相同的步骤.因此我的解决方案并不十分令人满意,因为我不确定实际的代码片段是如何更改的,因此无法验证是否已签入"修复".

你如何找到eclipse用于其类路径的实际定义?我曾以为这将是build.xml类路径定义,但似乎根本不是这样.

E-R*_*Riz 19

在Eclipse中,有一个构建类路径和一个运行时类路径.还有构建输出位置,默认情况下是bin.您不希望直接添加资源,bin因为Eclipse可以在执行干净构建时删除其内容.您需要做的是resources在项目中添加一个文件夹,以包含您希望包含在构建输出中的任何非Java文件.

resources在构建输出(bin)中包含此文件夹的内容,请右键单击该项目,然后选择"属性".在Project Properties中,选择Java Build Path部分,然后选择Source选项卡.

在此输入图像描述

使用" 添加文件夹..."按钮resources从项目中选择文件夹,然后单击"确定"保存更改.在这一点上,Eclipse会自动复制一切从resourcesbin它建立的时候.


小智 6

这是一个 Maven 项目:

  1. 右键单击项目
  2. 点击运行配置
  3. 单击类路径选项卡(Oxygen Eclipse)
  4. 单击用户条目
  5. 点击高级
  6. 第一个单选选项默认应该是“添加文件夹”
  7. 单击确定