KevanSoon commited on
Commit
a1f4435
·
1 Parent(s): 366df66

changed dockerfile

Browse files
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
- COPY target/javalin-demo-0.0.1-SNAPSHOT.jar app.jar
4
- EXPOSE 7860
5
- ENTRYPOINT ["java", "-jar", "app.jar"]
 
 
 
 
 
 
 
 
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