Spaces:
Sleeping
Sleeping
KevanSoon
commited on
Commit
·
a1f4435
1
Parent(s):
366df66
changed dockerfile
Browse files- src/DemoApplication.java → DemoApplication.java +0 -2
- Dockerfile +26 -3
- src/User.java → User.java +0 -0
src/DemoApplication.java → DemoApplication.java
RENAMED
|
@@ -1,5 +1,3 @@
|
|
| 1 |
-
import io.javalin.Javalin;
|
| 2 |
-
|
| 3 |
public class DemoApplication {
|
| 4 |
|
| 5 |
public static void main(String[] args) {
|
|
|
|
|
|
|
|
|
|
| 1 |
public class DemoApplication {
|
| 2 |
|
| 3 |
public static void main(String[] args) {
|
Dockerfile
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
FROM eclipse-temurin:17-jre
|
| 2 |
WORKDIR /app
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM eclipse-temurin:17-jdk AS build
|
| 2 |
+
|
| 3 |
+
WORKDIR /app
|
| 4 |
+
|
| 5 |
+
# Download dependencies directly
|
| 6 |
+
RUN curl -L -o javalin.jar https://repo1.maven.org/maven2/io/javalin/javalin/5.6.1/javalin-5.6.1.jar && \
|
| 7 |
+
curl -L -o gson.jar https://repo1.maven.org/maven2/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
|
| 8 |
+
|
| 9 |
+
# Copy Java source
|
| 10 |
+
COPY DemoApplication.java User.java ./
|
| 11 |
+
|
| 12 |
+
# Compile and package into fat JAR
|
| 13 |
+
RUN javac -cp "javalin.jar:gson.jar" DemoApplication.java User.java && \
|
| 14 |
+
jar cfe app.jar DemoApplication *.class
|
| 15 |
+
|
| 16 |
+
# Runtime image
|
| 17 |
FROM eclipse-temurin:17-jre
|
| 18 |
WORKDIR /app
|
| 19 |
+
|
| 20 |
+
# Copy built files + dependencies
|
| 21 |
+
COPY --from=build /app/app.jar .
|
| 22 |
+
COPY --from=build /app/javalin.jar .
|
| 23 |
+
COPY --from=build /app/gson.jar .
|
| 24 |
+
|
| 25 |
+
EXPOSE 8080
|
| 26 |
+
|
| 27 |
+
# Run with Javalin + Gson on classpath
|
| 28 |
+
CMD ["java", "-cp", "app.jar:javalin.jar:gson.jar", "DemoApplication"]
|
src/User.java → User.java
RENAMED
|
File without changes
|