Spaces:
Sleeping
Sleeping
| # 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"] |