A Quarkus application using PrimeFaces for the UI and H2 as the embedded database. This project demonstrates modern Java development with Quarkus framework, Jakarta Faces, and PrimeFaces components.
Before getting started with the project, make sure you have the following prerequisites installed on your system:
-
Choose one of the following options to download and install JDK 21:
- Download and install Maven from here.
-
Clone or download this project
-
Navigate to the project directory
-
Run the development server:
Windows:
dev.bat
Linux/Mac:
chmod +x dev.sh ./dev.sh
-
The application will be available at:
- Main application: http://localhost:8080
- Dev UI: http://localhost:8080/q/dev
-
Build the application:
Windows:
build.bat
Linux/Mac:
chmod +x build.sh ./build.sh
-
Run the built application:
java -jar target/quarkus-app/quarkus-run.jar
QuarkusFaces/
├── src/
│ ├── main/
│ │ ├── java/ # Java source code
│ │ ├── resources/ # Configuration files
│ │ │ ├── application.properties
│ │ │ └── import.sql
│ │ └── webapp/ # Web resources (JSF pages)
│ └── test/ # Test source code
├── dev.bat # Windows development script
├── dev.sh # Linux/Mac development script
├── build.bat # Windows build script
├── build.sh # Linux/Mac build script
└── pom.xml # Maven configuration
The project uses H2 file-based database with following configuration (in src/main/resources/application.properties):
quarkus.datasource.db-kind=h2
quarkus.datasource.username=sa
quarkus.datasource.password=
quarkus.datasource.jdbc.url=jdbc:h2:file:${user.home}/.quarkus-faces/quarkus-faces;DB_CLOSE_DELAY=-1
quarkus.hibernate-orm.database.generation=drop-and-create
quarkus.hibernate-orm.sql-load-script=import.sqlPrimeFaces 15.0.7 is included with Jakarta EE namespace support (using the -jakarta classifier). The theme and other configurations can be customized in the web.xml or via PrimeFaces configuration files.
- Hot Reload: Changes to Java files are automatically recompiled and reloaded
- Dev UI: Access development tools at http://localhost:8080/q/dev
- Live Configuration: Modify application properties without restarting
mvn clean packagemvn clean package -DskipTestsThe UberJar includes all dependencies and can be run with:
java -jar target/quarkus-app/quarkus-run.jarmvn package -Pnative- Quarkus 3.30.3: Supersonic Subatomic Java
- MyFaces Quarkus Extension 4.0.1: JSF implementation for Quarkus
- Quarkus PrimeFaces Extension 3.15.3: PrimeFaces integration for Quarkus
- PrimeFaces 15.0.3: UI component library for JSF
- H2 Database: In-memory database for development
- Hibernate ORM: JPA implementation
- Jakarta Faces: Web framework
- Maven: Build tool