https://github.com/yuriytkach/stream-23-demo-app
Demo application for online YouTube stream #23
https://github.com/yuriytkach/stream-23-demo-app
apache-lucene apache-poi demo-app picocli quarkus youtube-stream
Last synced: 7 months ago
JSON representation
Demo application for online YouTube stream #23
- Host: GitHub
- URL: https://github.com/yuriytkach/stream-23-demo-app
- Owner: yuriytkach
- Created: 2022-11-28T21:40:15.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-28T21:40:26.000Z (almost 3 years ago)
- Last Synced: 2025-01-29T19:47:38.257Z (8 months ago)
- Topics: apache-lucene, apache-poi, demo-app, picocli, quarkus, youtube-stream
- Language: Java
- Homepage:
- Size: 72.3 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Demo Project for Online Stream #23 - Command Line Apps
Demo project for online stream #23 which shows the use of Apache Lucene for indexing and then searching documents.
The data for documents is loaded from Excel file `poems.xlsx` which is provided.## Access to Online Stream on YouTube
To get a link to online stream on YouTube please do the following:
- :moneybag: Make any donation to support my volunteering initiative to help Ukrainian Armed Forces by means described on [my website](https://www.yuriytkach.com/volunteer)
- :email: Write me an [email](mailto:me@yuriytkach.com) indicating donation amount and time
- :tv: I will reply with the link to the stream on YouTube.Thank you in advance for your support! Слава Україні! :ukraine:
## Technologies
- Apache Lucene
- Apache POI
- Picocli
- Quarkus## Running the application in dev mode
You can run your application in dev mode that enables live coding using:
```shell script
./gradlew quarkusDev
```> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
## Packaging and running the application
The application can be packaged using:
```shell script
./gradlew build
```
It produces the `quarkus-run.jar` file in the `build/quarkus-app/` directory.
Be aware that it’s not an _über-jar_ as the dependencies are copied into the `build/quarkus-app/lib/` directory.The application is now runnable using `java -jar build/quarkus-app/quarkus-run.jar`.
If you want to build an _über-jar_, execute the following command:
```shell script
./gradlew build -Dquarkus.package.type=uber-jar
```The application, packaged as an _über-jar_, is now runnable using `java -jar build/*-runner.jar`.
## Creating a native executable
You can create a native executable using:
```shell script
./gradlew build -Dquarkus.package.type=native
```Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
```shell script
./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true
```You can then execute your native executable with: `./build/stream-23-demo-app-1.0.0-SNAPSHOT-runner`
If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling.
## Related Guides
- Picocli ([guide](https://quarkus.io/guides/picocli)): Develop command line applications with Picocli
- YAML Configuration ([guide](https://quarkus.io/guides/config#yaml)): Use YAML to configure your Quarkus application## Provided Code
### YAML Config
Configure your application with YAML
[Related guide section...](https://quarkus.io/guides/config-reference#configuration-examples)
The Quarkus application configuration is located in `src/main/resources/application.yml`.
### Picocli Example
Hello and goodbye are civilization fundamentals. Let's not forget it with this example picocli application by changing the
command
andparameters
.[Related guide section...](https://quarkus.io/guides/picocli#command-line-application-with-multiple-commands)
Also for picocli applications the dev mode is supported. When running dev mode, the picocli application is executed and on press of the Enter key, is restarted.
As picocli applications will often require arguments to be passed on the commandline, this is also possible in dev mode via:
```shell script
./gradlew quarkusDev --quarkus-args='Quarky'
```