- Gradle build fat jars for multi module project
- ./gradlew shadowjar
- Download the documents
- java -jar /Users/jonathankee/examTopicScraper/static_page/Download/build/libs/Download-all.jar "1z0-071"
- Scrape the data from the documents
- java -jar /Users/jonathankee/examTopicScraper/static_page/Document/build/libs/Document-all.jar
- Download the images
- java -jar /Users/jonathankee/examTopicScraper/static_page/Image/build/libs/Image-all.jar
cd /Users/jonathankee/examTopicScraper/static_page/src/main/resources rm -rf images/* rm -rf tmp/*
Multithread code perfomance increase up to 9x
Link: https://sdkman.io/install/
MacOS installation:
- curl -s "https://get.sdkman.io" | zsh
For Gradle compatibility:
- sdk install java 21.0.2-open
- java -version
Link: https://github.com/PrashDev425/network-programming
Modern Concurrency in Java: Virtual Threads, Structured Concurrency, and Beyond By A N M Bazlur Rahman
- ./gradlew clean
- ./gradlew shadowJar
- java -jar build/libs/static_page-1.0-SNAPSHOT-all.jar
Link: https://koge.2bab.com/
How to create multi module java project with gradle https://www.youtube.com/watch?v=5ZYOyo8ciBo
There are two files
- settings.gradle.kts
- build.gradle.kts
Command to start a gradle project
- gradle init
If we are building an executable app, pick 2:application If we are creating a library that will be used by others, pick 3:library If we are building gradle plugin to offer more functionality, pick 4:gradle plugin If we pick 1: basic, this gradle will create a basic layout and configuration, this is the default option
if we are asked how many subprojects will be in our application, we will specify "no" to indicate only 1
For the demo video: project name: calc source package name: com.gradlelab
- ./gradlew tasks --all
add gradle.properties file to make .gradlew command output more information
- ./gradlew :compileJava
- ./gradlew :cleanCompileJava
- Use Componse multiplatform
- add a simple note taking feature





