为 .java 源文件找到相应的 .classpath 文件

Locating the corresponding .classpath file for a .java source file

假设我有一个 java 文件 C:\workspace\project\src\packagename\foobar.java。现在,我想在运行时编译这个文件,但为此我需要相应的 .classpath 文件(或者更确切地说,它是条目),位于 C:\workspace\project\.classpath,这样我就可以通过-classpath 论点(如果我对其进行硬编码,则此方法有效,但这显然只是概念验证,而不是目标)。

我该如何找到 .classpath 文件?

我的想法是从下往上遍历文件树,从 foobar.java 开始,直到我到达一个 .classpath 文件所在的级别,然后我可以使用它。

但是,我 a) 不确定这是不是这样做的方法,并且 b) 不确定 如何 从下到上遍历文件树,除了 String.split-ting 文件并删除段,从末尾开始。不过,那太丑了,我不相信没有更好的选择。

听起来你在问如何编写 Java 代码 理解 eclipse 项目的布局和结构目录。然后 "mimic" eclipse 并为您编译文件。

这可能是个非常糟糕的主意。你看,除非你谈论的是非常小的和 "reduced" 个项目,否则你迟早会遇到很大的项目,而且每个项目都有点不同。你会不断地尝试把事情做好,每次你修复一个错误时,另一个项目就会出现,新的东西出现,你的解决方案就会失败。因为除非使用该构建代码,否则您无法获得强大的 "copy" eclipse 构建代码。

因此我的建议是:

  • 想一想是否有办法通过命令行驱动 eclipse(或您正在谈论的任何 IDE 项目文件)。使用确实知道如何构建这些东西的构建代码。请参阅 here 如何为 eclipse 执行此操作。
  • 查看是否可以将此类项目更改为具有 maven/gradle 构建配置。因为这样你就可以轻松地使用maven/gradle
  • 构建那个东西