0

我正在尝试构建一个语言服务器,以作为 eclipse che 的 sidecar 实现。我从我创建的 xtext 语言服务器构建了一个胖 jar。我可以使用这个胖 jar 在 dockerfile 中实现我的语言服务器,以便将我的语言服务器作为容器运行吗?

我写了一个 Dockerfile 如下:

FROM barais/eclipse-xtend
ADD build/libs/dsl-language-server-ls.jar dsl-language-server-ls.jar
RUN sudo apt-get install socat
CMD socat TCP4-LISTEN:4417,reuseaddr,fork EXEC:"mydsl"

“dsl-language-server-ls.jar”是通过构建我的项目(即LS)制作的jar文件。我的问题是,我可以通过包含上述 dockerfile 中的 .jar 文件来运行我的语言服务器吗?它实际上在 eclipse che 中工作,但我仍然遇到管道损坏错误和超时错误,这让我怀疑我的方法。

语言服务器初始化错误

这是我得到的错误。

4

1 回答 1

0

这仅在您正确打包 docker 映像时才有效

  • 确保包含 java 8
  • 确保您不仅包括 jar,还包括构建目录中的启动脚本
  • 或者您只需调用java -jar yourjar.jar而不是mydsl启动脚本
于 2018-10-06T15:57:57.427 回答