Spaces:
Sleeping
Sleeping
File size: 923 Bytes
e3cdb23 39e5a7a e3cdb23 39e5a7a e3cdb23 39e5a7a e3cdb23 39e5a7a e3cdb23 39e5a7a e3cdb23 39e5a7a e3cdb23 39e5a7a e3cdb23 39e5a7a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # Stage 1: Build
# Using JDK 11 as it has better compatibility with Java 8 source code
FROM maven:3.8.5-openjdk-11 AS build
WORKDIR /app
# Copy only pom.xml first to cache dependencies
COPY pom.xml .
RUN mvn dependency:go-offline -B
# Copy source and build
COPY src ./src
RUN mvn clean package -DskipTests
# Stage 2: Run (Tomcat 9 is correct for Java 8/11 and javax.servlet)
FROM tomcat:9.0-jdk11-openjdk
# Standard port adjustment for Hugging Face/Cloud environments
RUN sed -i 's/port="8080"/port="7860"/' /usr/local/tomcat/conf/server.xml
# Wipe default apps to prevent conflicts
RUN rm -rf /usr/local/tomcat/webapps/ROOT /usr/local/tomcat/webapps/ROOT.war
# Copy the built WAR from the build stage
# Your pom.xml defines <finalName>MyWebApp</finalName>, so it will be MyWebApp.war
COPY --from=build /app/target/MyWebApp.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 7860
ENV PORT 7860
CMD ["catalina.sh", "run"] |