我已经在这上面呆了很长一段时间了,在任何地方都找不到解决方案。我正在使用jersey框架编写一个JavaREST服务,maven是ApacheTomcat上托管的包管理器。
这个项目在当地运作得非常好。我想对应用程序进行dockerize,但我确实很挣扎。我已经启动并运行了tomcat容器,当我转到应用程序的根目录时,我可以看到我的简单hello文本。所以当我去
http://xxx:8888/npmanager/
在这一点上,我看到了我的期望。
现在,当我试图击中我的任何端点,即
https://xxx:8888/npmanager/api/XXX
我得到一个500错误:
已检测到资源和/或提供程序类的警告:
严重:缺少字段的依赖项:private 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"