用于实现语言服务器的 Fat Jar
Fat Jar to Implement a Language Server
我正在尝试构建一个语言服务器,作为 eclipse che 的 sidecar 实现。我从我创建的 xtext 语言服务器构建了一个 fat jar。我可以使用这个 fat 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 中工作,但我仍然遇到管道损坏错误和超时错误,这让我怀疑我的方法。
Language Server Initialization Error
这是我遇到的错误。
这只有在您正确打包 docker 图片时才有效
- 确保包含 java 8
- 确保您不仅包含 jar,还包含构建目录中的启动脚本
- 或者您只需调用
java -jar yourjar.jar
而不是 mydsl
启动脚本
我正在尝试构建一个语言服务器,作为 eclipse che 的 sidecar 实现。我从我创建的 xtext 语言服务器构建了一个 fat jar。我可以使用这个 fat 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 中工作,但我仍然遇到管道损坏错误和超时错误,这让我怀疑我的方法。
Language Server Initialization Error
这是我遇到的错误。
这只有在您正确打包 docker 图片时才有效
- 确保包含 java 8
- 确保您不仅包含 jar,还包含构建目录中的启动脚本
- 或者您只需调用
java -jar yourjar.jar
而不是mydsl
启动脚本