java - 如何从 JUnit 测试中判断 Eclipse 项目是否打开?

标签 java eclipse junit

我需要在 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]/.in​​dexes,并且关闭后没有它。 - 我仔细检查了它,看来我在这里错了。

但我刚刚检查关闭的 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/

相关文章:

java - JUnit:如何提供公开我的所有方法以便进行测试

java - 在 Qpid 上调用的 RabbitMQ Java API queuePurge() 方法返回消息计数为零的 PurgeOK 响应

java - Mini-Webserver-Mock : java.net.SocketException:连接重置

java - 使用Java 8的lambda表达式,将List<Byte>转换为原始byte[],无需外部库

java - 在 Java 中通过 SHA-256 哈希字符串

java - java中的repaint()不调用paintComponent()

java - Arquillian 可以并行运行测试吗?

java - Eclipse 调试器在包行处停止

java - eclipse不匹配构造函数方法调用

eclipse - Eclipse 中的 GlassFish v3 启动后显示 "Wrong username or password"