我试图使用Spring Boot Dev工具(Spring Remote),并自动将重新编译的文件上传到我的docker容器。
我一直在接受
Unexpected 404 response uploading class files
这是我的泊坞文件:
FROM java:8
WORKDIR /first
ADD ./build/libs/first.jar /first/first.jar
EXPOSE 8080
RUN bash -c 'touch /first/first.jar'
ENTRYPOINT ["java","-Dspring.data.mongodb.uri=mongodb://mongodb/micros", "-Djava.security.egd", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005","-jar", "first.jar"]
这是我收到的错误:
答案 0 :(得分:1)
从Spring Boot 1.5.0开始,devtools默认值被更改为从胖罐中排除devtools。
如果要包含它们,则必须将excludeDevtools
标志设置为false。
但是,devtools文档没有解释如何执行此操作。必要的文档实际上在spring-boot-gradle-plugin文档中。
为此,您可以将这段代码放在build.gradle文件中:
bootRepackage {
excludeDevtools = false
}
不幸的是,这起初是错误的,并且从Spring Boot 1.5.0开始没有效果。解决方法是改为:
springBoot {
excludeDevtools = false
}
但是,我已经验证bootRepackage
方法适用于Spring Boot 1.5.8。
答案 1 :(得分:0)
使用docker-compose编写我的应用程序(Web服务+ redis服务器+ mongo服务器)时,我遇到了与您相同的问题。
我认为当我们在Docker容器中运行Spring Web Application时,开发人员工具被禁用,然后我们无法远程重启它。
目前,我正在主机上运行我的Web应用程序,并在容器内设置redis服务器,mongo服务器,这样当代码在开发过程中发生变化时,我可以快速重启Web应用程序。
答案 2 :(得分:0)