【发布时间】:2018-06-27 20:59:59
【问题描述】:
我正在使用 xtext2.13/java8 开发一个 xtext DSL 项目。这一切都在 maven 下构建和执行回归测试,现在我想将构建移动到与 Jenkins 一起在 CI 下运行。 Jenkins 作业在 docker 映像中运行 maven。我专门使用 docker 镜像“maven:3.5-jdk-8”。 我可以看到构建开始了——日志显示正在下载 p2 依赖项,但随后失败并出现以下异常:
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/tycho/org.eclipse.tycho.p2.tools.impl/1.0.0/org.eclipse.tycho.p2.tools.impl-1.0.0.jar (48 kB at 630 kB/s)
[WARNING] Error initializing: org.eclipse.tycho.p2.resolver.P2DependencyResolver@72725ee1
java.lang.RuntimeException: java.lang.IllegalStateException: Service is not registered class='interface org.eclipse.tycho.core.shared.ProxyServiceFacade'
at org.eclipse.sisu.equinox.embedder.internal.DefaultEquinoxEmbedder.checkStarted (DefaultEquinoxEmbedder.java:312)
...
我可以在本地 docker 中运行 docker/maven 构建,它工作正常。我只在 Jenkins 管道中运行它时看到此错误。
该错误并没有提供任何关于潜在问题可能是什么的线索。我只能猜测它很可能是以下之一:
- 对外部存储库的不同访问(但在此之前它能够下载许多其他资源)
- 不同的本地权限(可能缺少某些资源的权限?)
还有其他建议吗? 谢谢
【问题讨论】:
-
我应该补充一点,这个警告变成了一个更长的堆栈跟踪,变成了一个 maven 错误,其最深嵌套的异常是: 引起:java.lang.IllegalStateException:服务未注册 class='interface org.eclipse.tycho.core.shared.ProxyServiceFacade' 并且构建失败。无法在本地 maven 构建中重现此问题,或在 docker 中运行同一容器的本地实例(尽管我可能以不同方式调用 docker,或者它可能是不同版本的 docker)
标签: eclipse maven docker jenkins xtext