为 .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
构建那个东西
假设我有一个 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 构建那个东西