Java 无法使用docker compose运行docker应用程序-显示NoClassDefFoundError:io/dropwizard/application
我的docker文件如下所示,我使用docker build命令创建了docker映像。但当我运行docker compose up命令时,我得到的错误是“NoClassDefFoundError:io/dropwizard/Application” 错误: C:\MyApp>docker组合 正在启动应用程序测试。。。已完成附加到apptest apptest |错误:无法找到或加载主类com.main.application.TestApplication apptest |由以下原因引起:java.lang.NoClassDefFoundError:io/dropwizard/ApplicationJava 无法使用docker compose运行docker应用程序-显示NoClassDefFoundError:io/dropwizard/application,java,docker,dropwizard,Java,Docker,Dropwizard,我的docker文件如下所示,我使用docker build命令创建了docker映像。但当我运行docker compose up命令时,我得到的错误是“NoClassDefFoundError:io/dropwizard/Application” 错误: C:\MyApp>docker组合 正在启动应用程序测试。。。已完成附加到apptest apptest |错误:无法找到或加载主类com.main.application.TestApplication apptest |由以下原因引起:
apptest退出,代码为1您需要创建一个包含dropwizard库的uber/shadow jar。查看使用jib gradle插件的jib dropwizard示例
//Dockerfile
FROM amazoncorretto:11
MAINTAINER SJ
RUN mkdir -p /opt/application
WORKDIR /opt/application
ADD app/build/libs/app.jar app.jar
ADD app/configuration.yml configuration.yml
ENTRYPOINT ["java", "-jar", "app.jar"]
CMD ["server", "configuration.yml"]
//docker-compose.yml
version: '2.1'
networks:
default:
name: apptests
driver: bridge
services:
apptest:
image: apptest/apptest
container_name: apptest
environment:
- SERVICES=s3
ports:
- "8056:8081"