Để deploy một ứng dụng Java web lên một Java Server Runtime, các bạn cần biết Java version và Jakarta EE version mà Server Runtime với version cụ thể, hỗ trợ. Với JBoss WildFly cũng vậy, mình mất khá nhiều thời gian để xác định version nào của JBoss WildFly hỗ trợ ứng dụng Java web với Spring framework 6.0, chạy bằng Java 17 và Jakarta EE 9. Các bạn cần thử và thử, có thể official document của Server Runtime không đúng với thực tế đó các bạn! Trong bài viết này, mình sẽ hướng dẫn các bạn cách deploy một ứng dụng Java web lên JBoss WidlFly các bạn nhé!
Ứng dụng mà mình đề cập ở trên là một ứng dụng Spring MVC được tạo bởi Maven project sử dụng Maven Archetype mà mình xây dựng. Các bạn có thể tham khảo thêm tại đây.
Ứng dụng này sử dụng Spring framework 6.x với Java 17 trở lên và sử dụng Jakarta EE version 9.
Để deploy ứng dụng này lên JBoss WildFly, các bạn hãy cài đặt JBoss WildFly version wildfly-27.0.1.Final các bạn nhé! Chi tiết hướng dẫn cài đặt các bạn có thể xem thêm tại đây.
Của mình như sau:
Sau khi tạo mới project, mình sẽ mình sẽ sử dụng command “mvn package” để build source code của ứng dụng thành tập tin .war file.
Để deploy ứng dụng ví dụ, mình sẽ copy tập tin spring-mvc-0.0.1-SNAPSHOT.war này vào thư mục standalone\deployments của thư mục JBoss WildFly. Các bạn sẽ thấy JBoss WildFly tạo mới các tập tin spring-mvc-0.0.1-SNAPSHOT.war.isdeploying rồi spring-mvc-0.0.1-SNAPSHOT.war.deployed để tự động deploy ứng dụng.
Nếu các bạn thấy có tập tin mới bắt đầu với tên bắt đầu giống tên tập tin mà các bạn đã copy vào và kết thúc là .deployed thì có nghĩa là các bạn đã deploy thành công rồi đó các bạn!
Context path mặc định sẽ là tên của tập tin nha các bạn! Chúng ta có thể đổi context path này nhưng hiện tại project ví dụ của mình không có cấu hình đó.
Giờ thì các bạn có thể truy cập vào ứng dụng mà mình mới deploy sử dụng địa chỉ http://localhost:8080/spring-mvc-0.0.1-SNAPSHOT/, kết quả của mình như sau: