Installing Apache NiFi on Windows can be straightforward, but I encountered an interesting issue when I tried to start NiFi using Git Bash.
Here is how I installed Apache NiFi 2.11.0 with JDK 25 and solved the BootstrapProcess error.
Installing Apache NiFi on Windows looks straightforward: download the binary distribution, extract it, configure Java, and start NiFi.
That's exactly what I expected.
However, while installing Apache NiFi 2.11.0 on Windows with JDK 25 and Git Bash, I encountered an interesting BootstrapProcess error.
This article documents the complete installation process, the problem I encountered, how I investigated it, and the solution that worked for me.
My Environment
Here was my setup:
- Windows
- Git Bash
- Apache NiFi 2.11.0
- JDK 25.0.4.1
My Java installation was located at:
C:\Program Files\Java\jdk-25.0.4.1
I verified Java with:
java -version
which returned:
java version "25.0.4.1"
I also configured:
JAVA_HOME=C:\Program Files\Java\jdk-25.0.4.1
Downloading and Extracting NiFi
I downloaded the Apache NiFi 2.11.0 binary distribution and extracted it.
The extracted directory looked like this:
nifi-2.11.0/
├── bin/
├── conf/
├── docs/
├── extensions/
├── lib/
├── logs/
└── python/
I then moved into the bin directory:
cd ~/Downloads/nifi-2.11.0-bin/nifi-2.11.0/bin
The First Problem
Since Git Bash provides a Unix-like environment, I initially tried:
./nifi.sh status
NiFi correctly detected Java and the NiFi installation directory:
JAVA_HOME=C:\Program Files\Java\jdk-25.0.4.1
NIFI_HOME=/c/Users/PC/Downloads/nifi-2.11.0-bin/nifi-2.11.0
But then I received:
Error: Could not find or load main class org.apache.nifi.bootstrap.BootstrapProcess
Caused by: java.lang.ClassNotFoundException:
org.apache.nifi.bootstrap.BootstrapProcess
At first, I suspected that Java was incorrectly installed.
But Java itself was working.
So I started investigating instead of reinstalling everything.
Checking the NiFi Bootstrap JAR
The first thing I checked was the bootstrap directory:
ls -la ../lib/bootstrap
I found:
nifi-bootstrap-2.11.0.jar
So the required JAR was definitely present.
But I still wanted to verify that the missing class actually existed inside the JAR.
I ran:
jar tf ../lib/bootstrap/nifi-bootstrap-2.11.0.jar | grep BootstrapProcess
The result was:
org/apache/nifi/bootstrap/BootstrapProcess.class
This was an important clue.
The class existed.
The JAR existed.
Java was installed correctly.
So the problem was likely related to how the shell script was constructing or passing the classpath.
Testing the Classpath Directly
I then tested the JAR directly:
java -cp "../lib/bootstrap/*" org.apache.nifi.bootstrap.BootstrapProcess
Interestingly, Java did not report a ClassNotFoundException.
This confirmed that Java could access the NiFi bootstrap classes correctly when the classpath was specified directly.
That made the problem with nifi.sh on Git Bash/Windows even more apparent.
Trying the Windows Script
Looking at the NiFi bin directory, I noticed that NiFi provides both:
nifi.sh
nifi.cmd
Since I was running Windows, I decided to use the Windows-specific script.
I ran:
./nifi.cmd status
This time I got:
Command Status [SUCCESS] HTTP 200
Status: UP
That was the solution.
Starting NiFi
I started NiFi with:
./nifi.cmd start
The output indicated that the application process had started:
Application Process [29800] started
Bootstrap Process Running
The process ID may be different on your machine.
I then checked the status:
./nifi.cmd status
and received:
Command Status [SUCCESS] HTTP 200
Status: UP
Apache NiFi was running.
Accessing the NiFi UI
I opened:
https://localhost:8443/nifi
The NiFi login page appeared successfully.
So the installation was complete.
Finding the Initial Credentials
For the first login, NiFi generated credentials automatically.
I searched the application log:
grep -i "Generated username\|Generated password" ../logs/nifi-app.log
The generated credentials allowed me to log into the NiFi Web UI.
Remember:
Never publish your generated password in a public GitHub repository or article.
The Main Lesson
The biggest lesson from this installation was simple:
On Windows, use the Windows-specific NiFi script:
nifi.cmd.
If you are using Git Bash, it can be tempting to use:
./nifi.sh
because Git Bash supports Unix shell scripts.
But NiFi provides:
nifi.cmd
specifically for Windows.
In my case, nifi.sh produced:
Could not find or load main class
org.apache.nifi.bootstrap.BootstrapProcess
while:
./nifi.cmd status
worked correctly.
Final Commands
These are the commands I now use to manage NiFi:
Start
./nifi.cmd start
Check status
./nifi.cmd status
Stop
./nifi.cmd stop
Follow logs
tail -f ../logs/nifi-app.log
Open the Web UI
https://localhost:8443/nifi
Quick Installation Summary
The complete process is:
# Check Java
java -version
# Check JAVA_HOME
echo $JAVA_HOME
# Go to NiFi
cd ~/Downloads/nifi-2.11.0-bin/nifi-2.11.0/bin
# Start NiFi
./nifi.cmd start
# Check status
./nifi.cmd status
Then open:
https://localhost:8443/nifi
Troubleshooting Checklist
If NiFi does not start, check these things first:
1. Is Java installed?
java -version
2. Is JAVA_HOME correct?
echo $JAVA_HOME
It should point to your JDK installation.
3. Does the bootstrap JAR exist?
ls -la ../lib/bootstrap
Look for:
nifi-bootstrap-2.11.0.jar
4. Does the bootstrap class exist?
jar tf ../lib/bootstrap/nifi-bootstrap-2.11.0.jar | grep BootstrapProcess
Expected:
org/apache/nifi/bootstrap/BootstrapProcess.class
5. Are you using the correct script on Windows?
Try:
./nifi.cmd status
instead of:
./nifi.sh status
Conclusion
Apache NiFi 2.11.0 was successfully installed and started on Windows using JDK 25.0.4.1 and Git Bash.
The most useful part of the troubleshooting process was not simply finding a command that worked, but understanding why the original command failed.
The important distinction is:
Linux/macOS → nifi.sh
Windows → nifi.cmd
If you are installing NiFi on Windows and encounter a BootstrapProcess classpath error while using Git Bash, check the bootstrap JAR and try the Windows-specific nifi.cmd script.
I hope this saves someone else a little time.
Resources
- Apache NiFi: https://nifi.apache.org/
- Apache NiFi Documentation: https://nifi.apache.org/documentation/
- Apache NiFi Downloads: https://nifi.apache.org/download/
If this guide helped you, feel free to share it with someone learning Apache NiFi.
Full Installation Guide
I also created a GitHub repository containing the complete installation guide and troubleshooting steps:
[Apache NiFi 2.11.0 on Windows — GitHub]
https://github.com/AMENOUSSI/apache-nifi-windows-installation-guide.git
Top comments (0)