我需要在 Eclipse 打开时从命令行运行 Maven。由于这可能会混淆 Eclipse,因此我将两者配置为使用不同的输出文件夹(Maven 写入 target
,Eclipse m2e 使用 target-eclipse
)。这非常有效。
但是在我的一个单元测试中,我需要加载属于项目一部分但不在类路径上的类。基本上,我构建了自己的 URL 类加载器。现在,我有一个问题:要添加哪个类文件夹?
如果项目已打开,target-eclipse/classes
是正确的选择,否则我应该使用 target/classes
。
假设我知道 Eclipse 文件夹和工作区文件夹。如何从 Eclipse(不是 Eclipse 插件)子进程中运行的 Java 代码判断哪些项目已打开,哪些项目未打开?
该文件夹的存在不是一个好的标准,因为当我关闭项目时该文件夹不会被删除。
[编辑] 基本上我的问题是:Eclipse 必须将该信息存储在 $workspace/.metadata
或 $ECLIPSE_HOME/configuration
中。我需要查看哪个文件?
最佳答案
文件[Workspace_Home]/.metadata/.lock
告诉您工作区已打开。
工作区中项目的列表和设置位于[Workspace_Home]/.metadata/.plugins/org.eclipse.core.resources/.projects
中。
打开的Java项目似乎有一个文件夹 - 我仔细检查了它,看来我在这里错了。[Workspace_Home]/.metadata/.plugins/org.eclipse.core.resources/.projects/[Project_name]/.indexes
,并且关闭后没有它。
但我刚刚检查关闭的 Java 项目有一个文件:[Workspace_Home]/.metadata/.plugins/org.eclipse.core.resources/.projects/[Project_name]/org.eclipse.jdt.core/state.dat
,而打开的项目没有它。
关于java - 如何从 JUnit 测试中判断 Eclipse 项目是否打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7335612/