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会自动复制一切从resources到bin它建立的时候.
| 归档时间: |
|
| 查看次数: |
41029 次 |
| 最近记录: |