在Eclipse和Java

时间:2017-08-16 05:05:40

标签: java eclipse configuration path

我已经实现了一个Java类,它通过相对路径处理.txt-Format文件。它在Eclipse中执行时运行良好。 但是,如果我在Eclipse之外的Java JRE中执行(未更改的)编译文件,我将收到java.io.FileNotFoundException。

我实施了new File(".").getCanonicalPath()并找到了问题的根源:

在Eclipse中执行我得到了回复:C:\Users\xy\git\Project\Project

在Java 8 JRE中执行我得到了回复:C:\Users\xy\git\Project\Project\bin

我想到了一种解决方法,但处理两个不同的代码版本进行开发和部署对我来说似乎是不必要的错误来源。

所以我的问题是如何解决问题。我更喜欢提示如何重新配置​​Eclipse。

提前致谢 Threx

2 个答案:

答案 0 :(得分:0)

有很多方法:

  1. 不要将文本文件放在/ bin中,指向另一个更静态的路径
  2. 将文件加载到classpath
  3. 使用System.getProperties(" user.dir")和if-else语句的组合
  4. 使用maven,ref:Maven add properties file to jar file

答案 1 :(得分:0)

解决方案在于调整Eclipse的配置。

在Run |下运行配置... | slide参数有条目"工作目录" 。默认情况下,它设置为$ {workspace_loc:ProjectName}。将其更改为$ {workspace_loc:ProjectName / bin}后,java.io.FileNotFoundException-警告消失,一切正常。

现在,Eclipse和Eclipse之外的JRE使用相同的路径,不再需要使用变通方法的冗余代码。