У меня есть .war-файл моего java-приложения, и я хотел бы развернуть его в док-контейнере.
Мой Dockerfile выглядит так:
FROM java:8
EXPOSE 8080
ADD /App.war app.war
ENTRYPOINT ["java", "-jar", "app.war"]
У меня есть App.war
в том же каталоге.
Когда я хочу запустить его с помощью следующей команды:
docker run -p 8080:8080 -t app
выдает следующее исключение:
no main manifest attribute, in app.war
Однако, когда я проверяю app.war, в /META-INF/MANIFEST.MF есть манифест с указанием следующих параметров:
Manifest-Version: 1.0
Start-Class: com.package.app.AppMainClass
Spring-Boot-Classes: WEB-INF/classes/
Spring-Boot-Lib: WEB-INF/lib/
Spring-Boot-Version: 1.4.0.RELEASE
Main-Class: org.springframework.boot.loader.WarLauncher
Итак, насколько я понимаю, в сообщении об ошибке говорится, что в манифесте отсутствует атрибут Main-Class (что невозможно, поскольку он там есть).
Я также попытался добавить реальный класс как Main-Class.
Это привело к той же ошибке.
Может кто-нибудь помочь мне вернуться на путь?