java - 如何修改Eclipse运行配置类路径?

标签 java eclipse junit osgi eclipse-jdt

我正在 Eclipse JDT 中开发一个项目,该项目对 OSGI 有可选的依赖关系 - 也就是说,它支持用作 OSGI bundle ,如果它在 OSGI 环境中用作 bundle ,它还会引用一些来自 OSGI 的类。

现在我想编写 JUnit 测试用例,以便在 OSGI 内部运行和不使用 OSGI 运行,包含在两个不同的测试套件中。 OSGI 测试作为 JUnit 插入测试运行,非 OSGI 测试应作为普通 JUnit 测试运行。

现在我遇到了问题,我无法在 Eclipse 中找到任何方法来准确指定 JUnit 测试运行配置的类路径并排除可选的 OSGI jar。

是否有任何方法可以排除 jar 或修改 Eclipse 运行配置的默认类路径? 如果没有,是否有人有建议,在这种情况下应该如何设置 JUnit 测试?

我能找到的唯一解决方案是,从我的单元测试创​​建一个 jar 文件,并在不使用 OSGI 的情况下从另一个项目运行测试,并将测试 jar 文件放在类路径上。但我更喜欢更优雅的解决方案,最好不需要第二个测试项目。

最佳答案

在 Gimbys 评论的帮助下,我解决了这个问题。尽管在 Eclipse 中无法修改 JDT 生成的默认类路径,但可以完全删除默认类路径,然后在运行时配置的类路径选项卡中添加您自己的类路径。

要删除默认类路径,必须选择以当前运行的项目命名的根条目,然后单击“删除”按钮。之后,可以添加所有应该加载到类路径中的 jar 文件和项目。这种方法的缺点是,jar 文件通常由 Eclipse 插件提供,例如然后还必须手动选择 junit.jar(例如,将其添加到项目的库文件夹中或选择 Eclipse 安装文件夹的插件目录中的外部 jar)。

关于java - 如何修改Eclipse运行配置类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22198780/

相关文章:

java - 如何在内存中嵌入 MariaDB4j 以替换 JUnit 测试中默认的 Spring DataSource?

使用 Files.move() 时出现 java.nio.file.AccessDeniedException

eclipse - 是否有一些 Eclipse 插件可以显示源代码的缩小轮廓?

eclipse - ArtifactDescriptorException : Failed to read artifact descriptor Maven error

c - 在Eclipse中调试C程序找不到命令行参数文件

java - 业务方法中的错误检查,也就是进行防御性编程

java - JUnit 产生奇怪的 AssertionFailedError

java - com.sun.mirror.apt API

Textmate 中的 Java 代码格式化

java - 放心 : Can't find the equalTo method