我已经坚持了好一阵子,在任何地方都找不到解决方案。我正在使用jersey框架,将maven作为托管在Apache Tomcat上的软件包管理器来编写Java Rest服务。
该项目在本地运行良好。我想对应用程序进行docker化,并且确实很挣扎。我已经启动并运行了tomcat容器,当我进入应用程序的根目录时,我可以看到简单的hello文本。因此,当我现在进入http://xxx:8888/npmanager/
时,我已经看到了我的期望。
现在,当我尝试击中任何端点时,即https://xxx:8888/npmanager/api/XXX
,我将收到500错误:
已检测到资源和/或提供程序类的警告: 严重:缺少字段依赖性:私有org.glassfish.jersey.server.wadl.WadlApplicationContext org.glassfish.jersey.server.wadl.internal.WadlResource.wadlContext
文档文件:
FROM tomcat:8.5.38
ADD ./target/npmanager.war /usr/local/tomcat/webapps/
CMD chmod +x /usr/local/tomcat/bin/catalina.sh
CMD ["catalina.sh", "run"]
docker-compose.yml
version: '3'
services:
tomcat-dev:
build: .
environment:
TOMCAT_USERNAME: root
TOMCAT_PASSWORD: root
ports:
- "8888:8080"
mysql-dev:
image: mysql:8.0.2
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: npmanager
volumes:
- /mysql-data:/var/lib/mysql
ports:
- "3308:3306"