1

假设我有一个 java 文件C:\workspace\project\src\packagename\foobar.java。现在,我想在运行时编译此文件,但为此我需要.classpath位于它,但这显然只是概念验证,而不是目标)。C:\workspace\project\.classpath-classpath

我将如何去寻找.classpath文件?

我的想法是自下而上地遍历文件树,从 开始foobar.java,直到我达到.classpath可以使用的文件存在的级别。

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

4

1 回答 1

1

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

这可能是一个非常糟糕的主意。你看,除非你只是在谈论非常小的和“缩减”的项目,否则迟早你会遇到很大的项目,而且每个项目都略有不同。你会不断地尝试把事情做对,每次你修复一个错误,另一个项目就会出现,一些新的东西出现,你的解决方案就会中断。因为除非您使用该构建代码,否则您无法获得 Eclipse 构建代码的健壮“副本”。

因此我的建议:

  • 计算是否有一种方法可以通过命令行驱动 eclipse(或您正在谈论的任何 IDE 项目文件)。使用知道如何构建这些东西的构建代码。请参阅此处如何为 Eclipse 执行此操作。
  • 看看是否可以将此类项目更改为具有 maven/gradle 构建配置。因为这样你就可以使用 maven/gradle轻松构建那个东西
于 2018-03-08T18:39:10.500 回答