当前位置: 首页 > 知识库问答 >
问题:

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

崔博延
2023-03-14

我正在Eclipse JDT中开发一个项目,它对OSGI有可选的依赖性--也就是说,它支持作为OSGI包使用,如果它在OSGI环境中作为包使用,它还将引用OSGI中的一些类。

现在我想编写JUnit测试用例,既可以在OSGI内部运行,也可以在不运行OSGI的情况下运行,包含在两个不同的测试套件中。OSGI测试作为JUnit Pulg-in测试运行,而非OSGI测试应该作为普通JUnit测试运行。

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

有什么方法可以排除JAR或者修改Eclipse运行配置的默认类路径吗?如果不是,有没有人能给出一个建议,在这种情况下应该如何设置JUnit测试?

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

共有1个答案

舒仲渊
2023-03-14

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

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

 类似资料:
  • 我在Spring框架中使用ehcache。我正在使用ehcache.xml初始化ehcache。然而,我想在运行时添加某些属性,如terracottaconfig。为此,我覆盖了类EhCacheManagerFactoryBean。目前,我正在覆盖这个类的方法getObject()(我不知道这是否是一个正确的覆盖,因为在使用ehcache.xml文件初始化类之前,调用了其他方法setResourc

  • 主要内容:Eclipse 创建和使用运行配置Eclipse 创建和使用运行配置 “Run Configurations”对话框允许您创建多个运行配置。每个运行配置都可以启动一个应用程序。可以通过从“Run As”菜单中选择“Run Configurations”菜单项来调用“Run Configurations”对话框。 显示如下: 要为 Java 应用程序创建运行配置,请从左侧列表中选择Java 应用程序,然后单击新建按钮。在主选项卡中出

  • 我使用Eclipse IDE(Spring Tool Suite)很多年了,并且定期在Launching项目中遇到同样的问题 问题发生在现有的“运行配置”之后,可能是在IDE更新之后,但我无法重现为什么会发生这种情况。为了快速修复,我只是删除“运行配置”的错误,只是“鼠标右键单击Application.java- 多年来,我无聊地反复出现这个问题。我认为其他日食或SpringSTS用户也有同样的问

  • 问题内容: 我用eclipse编写了一个复杂的Java应用程序,它使用了许多包含在项目文件夹中的.jar库。 有没有一种快速的方法可以导出应用程序的运行配置,使我可以从外壳运行它(我实际上不需要在机器上移动它,因此不需要jar输出或类似的东西)。 我只需要从Eclipse中分离执行,但是由于项目具有许多设置,因此我想自动导出脚本(可能是.sh或只是一个普通的长行)。 问题答案: 您可以在“调试”选

  • 创建和使用 Eclipse 运行配置 在运行配置(Run Configuration)对话框中可以创建多个运行配置。每个配置可以在应用中启用。 运行配置(Run Configuration)对话框可以通过 Run 菜单中选择 Run Configurations 来调用。 如果要给 Java 应用创建运行配置需要在左侧列表中选择 "Java Application" 并点击 New 按钮。 对话框

  • 在git端修改配置后如何让客户端生效? 访问接口修改 refresh post方式执行http://localhost/refresh 会刷新env中的配置 restart 如果配置信息已经注入到bean中,由于bean是单例的,不会去加载修改后的配置 需要通过post方式去执行http://localhost/restart, 需要通过application.properties中配置endpo