我在本地构建多模块项目时遇到了问题。
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.118
sec <<< FAILURE! - in org.end2end.ClientEnd2EndIT
org.end2end.ClientEnd2EndIT Time elapsed: 0.118 sec <<< ERROR!
java.lang.NoSuchMethodError:
org.assertj.core.util.Throwables.
appendStackTraceInCurrentThreadToThrowable
在测试的setupClass方法中执行此指令时显然:
frame = GuiActionRunner.execute(() -> GUI.createGui(false));
其中GuiActionRunner.execute()是AssertJ依赖的方法。在同一个项目中,我在End2End模块之前构建客户端,即使在客户端的集成测试中也执行该指令,但在这种情况下,NoSuchMethodError不会发生。我会指定如果我在macOS系统或Travis-ci(linux和mac版本)下构建,则不会出现此问题。这似乎只是一个本地问题(我使用的是Linux Mint 18.2)。有人可以帮忙吗?
答案 0 :(得分:1)
解决。问题是在创建jframe时抛出一个隐藏的无头异常,这是因为我正在调用:
SpringApplicationBuilder builder = new
SpringApplicationBuilder(ServerApplication.class);
builder.run(new String[] { "--server.port=9999" });
我通过添加:
解决了SpringApplicationBuilder builder = new SpringApplicationBuilder(ServerApplication.class);
builder.headless(false); //this line
builder.run(new String[] { "--server.port=9999" });