我正在寻找使用 Monocle 和 Maven 进行无头单元测试的 javaFX 应用程序。我已经能够通过自己构建单片眼镜 jar 并将其加载到我的 /Extensions java 文件夹中进行无头测试以在本地工作,如下所示:JavaFX + maven + TestFX + monocle don't work together。但是我不拥有构建服务器,因此我很难将 Monocle 安装到 Java 扩展文件夹中。我正在寻找解决办法。
我正在使用 Maven 并尝试使用标签https://maven.apache.org/pom.html#Extensions来包含单片眼镜:
<extensions>
<extension>
<groupId>org.testfx</groupId>
<artifactId>openjfx-monocle</artifactId>
<version>8u76-b04</version>
</extension>
</extensions>
这不起作用,即使标签中有单独的依赖项。我还尝试在源代码中包含单片眼镜 jar 并将其包含在 java.ext.dirs 参数中:
<argLine>-Dtestfx.robot=glass -Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw -Dheadless.geometry=1600x1200-32 -Djava.ext.dirs=:<path>/monocle-jars</argLine>
但这给了我这个错误:
java.lang.NoClassDefFoundError: javafx/application/Application
我认为更改为自定义 java.ext.dirs 值会导致找不到 javafx 库。
关于如何在无需手动安装 Monocle Java 扩展的情况下构建它的任何建议?