查找.java源文件对应的.classpath文件
假设我有一个java文件查找.java源文件对应的.classpath文件,java,file,classpath,filetree,Java,File,Classpath,Filetree,假设我有一个java文件C:\workspace\project\src\packagename\foobar.java。现在,我想在运行时编译这个文件,但为此我需要相应的.classpath文件(或者更确切地说,它的条目),位于C:\workspace\project\.classpath,这样我就可以用-classpath参数传递依赖项(如果我硬编码的话,这种方法是有效的,但这显然只是概念的证明,而不是目标) 如何查找.classpath文件 我的想法是从foobar.java开始,沿着文件
C:\workspace\project\src\packagename\foobar.java
。现在,我想在运行时编译这个文件,但为此我需要相应的.classpath
文件(或者更确切地说,它的条目),位于C:\workspace\project\.classpath
,这样我就可以用-classpath
参数传递依赖项(如果我硬编码的话,这种方法是有效的,但这显然只是概念的证明,而不是目标)
如何查找.classpath
文件
我的想法是从foobar.java
开始,沿着文件树自下而上走,直到我到达一个.classpath
文件的层次,然后我就可以使用它了
但是,我不确定a)这是否是执行此操作的方法,b)不确定如何自底向上遍历文件树,而不是
String.split
-从末尾开始拆分文件并删除段。不过,这太难看了,我不相信没有更好的选择。听起来你在问如何编写理解eclipse项目目录布局和结构的Java代码。然后“模拟”eclipse并为您编译文件
这可能是一个非常糟糕的主意。你看,除非你只谈论非常小的和“减少”的项目,否则你迟早会遇到大型的项目,每个项目都有点不同。你会不断地尝试把事情做好,每次你修复了一个bug,另一个项目就会出现,新的东西就会出现,你的解决方案就会崩溃。因为除非您使用eclipse构建代码,否则无法获得该构建代码的健壮“副本”
因此,我建议:
- 图3:是否有一种方法可以通过命令行驱动eclipse(或您正在讨论的任何IDE项目文件)。使用知道如何构建这些东西的构建代码。请参见如何为eclipse执行此操作
- 看看是否有可能将这些项目更改为具有maven/gradle构建配置。因为这样你就可以很容易地用maven/gradle构建这个东西了