Bash java command not found windows

So I had to re-install my system. I installed Cygwin in C:cygwinbin And I used the batch file that worked on my previous installation: "start_cygwin.bat" @echo off C: chdir C:cygwinbin ...

So I had to re-install my system.
I installed Cygwin in C:cygwinbin

And I used the batch file that worked on my previous installation:
«start_cygwin.bat»

@echo off  
C:  
chdir C:cygwinbin  
bash -c "cd /cygdrive/e/apache-solr-3.5.0/example/;java -Dsolr.solr.home="./example-DIH/solr/" -jar start.jar" 

But after running this command:

bash -c "cd /cygdrive/e/apache-solr-3.5.0/example/;java -Dsolr.solr.home="./example-DIH/solr/" -jar start.jar" 

I get the error:

bash: java: command not found

I thought it had something to do with java, but I installed the java jdk 6.27 (which worked fine before) and when I type «java» in my command prompt I see a list of possible java commands.

asked Oct 14, 2012 at 19:45

Adam's user avatar

0

Its not able to locate your java.exe file.

To resolve the issue, you have two options:

  1. Add Java installed folder in your PATH

  2. Use full path of java.exe in the above command i.e. in place of java, use /home/../jdk.../bin/java.

One of the tow options, should help resolving your issue.

answered Oct 14, 2012 at 19:47

Yogendra Singh's user avatar

Yogendra SinghYogendra Singh

33.7k6 gold badges63 silver badges73 bronze badges

2

If it doesn’t work using the path to java/bin then you can try to
— create symbolic link: ln -s /cygdrive/c/Program Files/Java/jre1.8.0_102/bin/java.exe /usr/bin/java
— create an alias: alias java="/cygdrive/c/Program Files/Java/jre1.8.0_102/bin/java.exe"
— add the java path to the paths: export JAVA_HOME="/cygdrive/c/Program Files/Java/jre1.8.0_102"
export PATH="$PATH:$JAVA_HOME/bin"

answered Aug 26, 2016 at 12:25

Viorel Mirea's user avatar

If you trying to set up Java in your system or it’s already installed but you are getting a «Java command not found» error. It may be due to either it’s not installed properly or the path variable is not set up correctly for your operating system. In this tutorial, I will let you know the possible cause of this Java error and how to fix it easily.

Below mentioned are the common Java-related error you may encounter —

  • java command not found ubuntu
  • java command not found windows 10
  • -bash: java: command not found mac
  • Java is not recognized as an internal or external command?
  • java command not found Red Hat
  • java environment not found

Table of Contents

  • 1 Why am I getting a Java command not found error?
  • 2 How do I fix the Java command not found?
  • 3 Solution-1 — Install the Java correctly in Windows to get rid of the Java command not found error
  • 4 How to install Java in Windows 10
  • 5 Solution2 — How to set an environment variable for java in Windows 10, if you have Java already installed
  • 6 Solution3- How to install Java in Ubuntu 21.04 correctly
  • 7 Solution4 — How to set the «JAVA_HOME» variable in Ubuntu 21.04
  • 8 Solution5- How to install Java in macOS to fix the java command not found error
  • 9 Solution6 — How to set Java_Home environment variable in macOS
  • 10 Solution-7 Uninstall and reinstall Java, if nothing works
  • 11 Summary

Why am I getting a Java command not found error?

Generally, you get a java command not found error due to the following reasons —

  1. Java is not installed in your system
  2. Java installation is not complete due to errors during installation
  3. Environment variable or Path is not setup correctly for Java
  4. Java conflict due to more than one java installation in your system

These are the quick checks before starting troubleshooting to fix the java command not found error —

  • Check whether java is installed or not?
  • If java is installed, look for the java version
  • Validate environment variable or path is set up correctly for your operating system
  • Make sure you are using the right version in case of more than one Java version installed

Let’s deep dive and see step-by-step solutions —

Solution-1Install the Java correctly in Windows to get rid of the Java command not found error

Mostly, you don’t have java installed and installing java is the first step to fix java related issues. Follow these steps based on your operating system to install java correctly.

Step1 — Check whether Java is installed in your system

  • In Windows, Open the command prompt and run
java --version
  • In the case of Linux, run
sudo java -version

output -
bash: java: command not found

In case you get «Java command not found» or Java is not recognized as an internal or external command then keep following this tutorial to install java in your system.

java-command not found error in Windows 10

  • To check default versions installed in Linux, run
sudo update-alternatives --config java

How to install Java in Windows 10

I would recommend you to download the latest java and install it in your system.

Step2 Download Java

Visit oracle.com and download JDK 18 (JAVA SE Development Kit) or the latest available for your system. I am downloading it for Windows 10 (64-bit). Soon Java 19 will supersede JDK 18.

Download latest java 18 for Windows 10

Step3 Install the latest Java 18 on Windows 10/11

Once you have downloaded the «jdk-18_windows-x64_bin.exe» for your Windows system. Double click and run the installer and follow the steps

  • I recommend keeping «C:Program filesjavajdk-18.0.1.1 (64-bit)» as the default installation folder. Select Next.

Java 18 default installation path in Windows 10

You may select different installation folders also. For example, if you are installing a second instance of java software. Click on change and browse for the target folder.

Solution2 — How to set an environment variable for java in Windows 10, if you have Java already installed

If you have Java already installed and then all the environment variables are set up automatically as shown in the image.

set up Java-Path in Windows 10

But in case you are still getting «Java is not recognised as an internal or external command» error then set up the environment variable for your Java.

  • Type «environment» in the search window. Click «open» on «Edit the system environment variables«

environment-variable-windows10

  • Click on Environment variables.

java-runtime-environment-variable

  • Select «Path» > Then click Edit.

How-to-set-environment-variable-for-java

  • Select New > Give path of java installation directory > For example, «C:Program filesjavajdk-18.0.1.1bin» in my case. If you have selected the custom folder to install Java. You can enter your path to the bin folder. It will set up only the java variable for that specific user.

Click OK.

add Java Home in Windows 10 for Java 18

  • Set «classpath» for java. Click «New» in the environment variable window. It allows to set up the new environment variables.

How-to-set-classpath-variable-for-java

In «Variable name», enter «classpath«. Also in «variable value» provide path to your java installation till «lib» folder. In my case it is «C:program filesjavajdk-18.0.1.1lib > Select OK

set up Java 18 lib folder path

  • Close all open environment variables windows by selecting OK.

Solution3- How to install Java in Ubuntu 21.04 correctly

To install Java in Linux —

  • Visit oracle.com and download JDK 18 or the latest available .deb and transfer it to your system. I am downloading Debian package jdk-18_linux-x64_bin.deb for Ubuntu 21.04. The same can be used for any Debian-based OS like Linux Mint, Kubuntu, Lubuntu etc.
  • Download RPM package for CentOS, AlmaLinux, Red Hat or Rocky Linux operating system.

Download latest java 18 for Ubuntu or RedHat Linux

  • Rename the .deb file using the mv command, if required. Then install the Debian package using the dpkg command.

Learn more ways to install the .deb package.

$ sudo dpkg -i ".deb-file-path"

Install Java 18 in Ubuntu 21 to fix java command not found error

For example

$ sudo dpkg -i ./jdk-18_linux-x64_bin.deb

In case you get any error related to the libc6-x32 dependency package, then

dpkg: dependency problems prevent configuration of jdk-18:
jdk-18 depends on libc6-i386; however:
Package libc6-i386 is not installed.
jdk-18 depends on libc6-x32; however:
Package libc6-x32 is not installed.

Either install the dependency package or run the following command to fix the broken.

$ sudo apt --fix-broken install

Once all the dependent packages are installed, try installing java 18 again on Ubuntu 21.

$ sudo dpkg -i ./jdk-18_linux-x64_bin.deb
  • You can use the rpm command to install java in RPM-based operating systems
$ sudo rpm  -ivh "path to rpm"

For example

$ sudo rpm -ivh jdk-18_linux-x64_bin.rpm

Solution4 — How to set the «JAVA_HOME» variable in Ubuntu 21.04

Set the JAVA_HOME variable for all users in Ubuntu by editing the environment file.

  • Edit /system/environment file using vi or nano editor.
$ sudo vi /etc/environment
  • Add path «/usr/lib/jvm/jdk-18/bin» to the last of the environment file as shown in the image. Then, save and exit

The output of the Environment file after adding the Java path

set up java bin directory for Java home in Ubuntu

  • Run source command to execute changes made in the environment file.
$ sudo source /etc/environment
  • Check your java version
$ sudo java -version

Check java version 18 in Ubuntu 21

Solution5- How to install Java in macOS to fix the java command not found error

To install the JDK on macOS:

  1. Download the JDK .dmg file for macOS, jdk-18_macos-x64_bin.dmg from the Java SE Downloads page.
  2. Then Click Accept License Agreement.
  3. Double-click the .dmg file to start it
  4. Finder window appears that contains an icon of an open box and the name of the .pkg file
  5. Double-click the JDK 18.pkg icon to start the installation application
  6. The installation application displays the Introduction window
  7. Click Continue. The Installation Type window appears.
  8. Click Install. A window appears that displays the message: Installer is trying to install new software. Enter your password to allow this.
  9. Enter the Administrator user name and password and click Install Software. The software is installed and a confirmation window is displayed.

You can delete the .dmg file if you want to save disk space after installation.

Solution6 — How to set Java_Home environment variable in macOS

  • If you use the bash shell, run
echo export "JAVA_HOME=$(/usr/libexec/java_home)" >> ~/.bash_profile
  • In the case of zsh shell, run
echo export "JAVA_HOME=$(/usr/libexec/java_home)" >> ~/.zshrc
  • Restart your shell once in both cases

Solution-7 Uninstall and reinstall Java, if nothing works

If you are getting java command not found error even after setting up java home variable. It means there is something wrong with the installation. In that case, my recommendation will be to uninstall all existing versions of java and reinstall it.

Check out my other post, If you don’t know how to uninstall java from Windows or Linux. There are individual sections provided for the uninstallation of Java.

Summary

I am sure, you will be able to fix your java command not found error by following this tutorial step by step and carefully.

Let me know, in case you still face any issues. I will try to help you out to the best of my knowledge. You can check out these Oracle tutorials to learn java after installation by following this post step by step.

I’m trying to run a series of programs in Cygwin.

My current dilemma is running a java file. My input and the error is below.

Gaius@Ellislab2015 ~/muTect-1.1.4-bin
$ java -jar muTect-1.1.4.jar
-bash: java: command not found

How can I fix this?

DavidPostill's user avatar

DavidPostill

149k77 gold badges344 silver badges383 bronze badges

asked May 22, 2015 at 22:24

Gaius Augustus's user avatar

-bash: java: command not found

You need to add Java to your bash PATH variable.

This is normally done by editing the appropriate lines in ~/.bash_profile.

# User dependent .bash_profile file

...

# Set PATH so it includes user's private bin if it exists
# if [ -d "${HOME}/bin" ] ; then
#   PATH="${HOME}/bin:${PATH}"
# fi

Further reading

  • How can I set my Cygwin PATH to find javac?
  • 64 Bit Java Path in Cygwin

Community's user avatar

answered May 22, 2015 at 22:56

DavidPostill's user avatar

DavidPostillDavidPostill

149k77 gold badges344 silver badges383 bronze badges

I added the following to my file in home/.bash_profile (~/.bash_profile), as suggested by DavidPostill, and after looking at documents he referenced:

Before:

# Set PATH so it includes user's private bin if it exists
# if [ -d "${HOME}/bin" ] ; then
#   PATH="${HOME}/bin:${PATH}"
# fi

After:

# Set PATH so it includes user's private bin if it exists
# if [ -d "${HOME}/bin" ] ; then
# PATH=/cygdrive/c/Program Files (x86)/Java/jre1.8.0_45/bin/:${PATH}
# fi

answered May 26, 2015 at 18:51

Gaius Augustus's user avatar

If you’re new to java programming, the error “java command not found” or “’java’ is not recognized as an internal or external command, operable program or batch file” may have occurred to you.

There are 2 reasons that you’re facing “Java command not found” in your Linux/Mac java’ is not recognized as an internal or external command, operable program or batch file” in your windows PC.

Lets discuss these two reasons and its solution one by one.

1. JRE is Not Installed in Your System

If you’re facing this error, that means either you’re running a bytecode (.class file) or a .jar file which requires JRE (Java Runtime Environment) to run. So there are two ways to get a Java Runtime Environment. Firstly you have to download and install the JRE, using which you can run the file which requires java.

To Download JRE on windows and MacOS:

https://www.oracle.com/java/technologies/javase-jre8-downloads.html

To Download JRE on Linux (Ubuntu):

Open terminal and execute these commands one by one:

sudo apt update

apt install default-jre

On other hand, if you also want to write programs in java as well as run those programs then you can download and install JDK (Java Development Kit) from https://www.oracle.com/java/technologies/javase-jdk13-downloads.html.

Using JDK, you can develop java programs as well as run those programs. So the JRE comes along with JDK. Which means if you have installed JDK in your system then you won’t be needing to install JRE separately.

To Install JDK in Windows: https://www.thecrazyprogrammer.com/2014/06/java-installation-downloading-installing-and-setting-path.html

Even for the Mac, an installer like Windows is available on the same site.

To Install JDK on Linux (Ubuntu):

Open terminal and execute these commands:

sudo apt update

apt install default-jre

2. The Path of JRE or JDK Has not Been Set

This is one of the most common mistakes we make while installing JRE or JDK in our system. When we install java in our system, it requires a particular location (Example: C:Program FilesJavajdk1.8.0_101 ) to extract its files. Now the binary files that we required to run the java file are present in a particular directory. So when you move the file into the bin folder inside the JRE or JDK directory to run it, it will run.

But when you want to run your java file from any directory then you need to paste the path of the bin folder that is inside your JDK or JRE folder to a global path (Environment Variables) from where you can access it anywhere in the system.

To setup the path in windows you can again open:

Java Installation: Downloading, Installing and Setting Path

To setup the path in Linux (Ubuntu):

You need to open terminal and type:

 sudo gedit ~/.bashrc

It will open .bashrc file in the text editor now go to the last of that file and add following lines:

export JAVA_HOME=/usr/java/<your version of java> export PATH=${PATH}:${JAVA_HOME}/bin

So now you can run your java files without facing the error “java command not found” or ‘java’ is not recognized as an internal or external command, operable program or batch file” in your system.

So that’s all, if you’ve any query or question related to this article, please let us know in comment box.

This topic probably is a common one, but when looking online I didn’t see much that related to my case, since I’m not running a normal ubuntu, but rather WSL (Windows Subsystem for Linux).

So my problem is that I switched from java 8 to java 17 recently (I required java 8 for a course), but I noticed that on ubuntu terminals, java -version still showed openjdk-1.8.(something), rather than jdk-17 or something like that.

So I thought that uninstalling openjdk would do the trick, which I did with sudo apt-get autoremove openjdk-8-jre. However, now typing java in an ubuntu terminal doesn’t work anymore at all, and shows: Command 'java' not found, but can be installed with: .... But I fear that installing it with one of these commands will install a new version of java, rather than using the one that’s already installed.

I have set the JAVA_HOME variable to the java installation directory, which is mnt/c/Program Files/Java/jdk-17.0.1, but the space in Program Files does seem to be a problem.

How can I fix this? I usually prefer using a bash terminal than Powershell or cmd because I know the commands better, so not being able to use java or javac in bash is an issue for me. Thanks!

Java Runtime Environment (JRE) is a powerful set of software that allow you to develop Java applications quickly and easily. It includes the Java Virtual Machine (JVM), essential core classes and libraries, and everything else you need to get started with Java. JRE is a part of the Java Development Kit (JDK), but can be installed separately. The Java Runtime Environment was originally created by Sun Microsystems Inc., a subsidiary of Oracle Corporation. It’s also known as the Java Runtime.

Installing Java in Linux should be easy using package managers, such as apt, yum, or pacman, depending on your Linux distribution. However, there are times that you may encounter «java: command not found» error, even though you think you have installed it. The full error message may look something like this :

Command 'java' not found, but can be installed with:

1.  sudo apt install default-jre
2.  sudo apt install openjdk-11-jre-headless
3.  sudo apt install openjdk-8-jre-headless

In this article, we will show you a few solutions that you can use to fix java command not found error.

Add Java to PATH environment variable

Most operating systems look for executables and binaries in a specific set of places. The list of all those places is stored in an environment variable, often named PATH.

If you knew where the Java binary is placed, you can add one of the Java path to PATH variable using the following command.

export PATH=$PATH:/path/to/java/binary/

Command 'java' not found, but can be installed with

Reinstall JRE

The quickest way to fix java command not found error is to reinstall JRE. In order to do so, run the following command:

sudo apt install default-jre

There are other alternative packages that you can choose instead of default-jre, which installs the latest version of JRE (11 at the time of this writing).

You can choose to install one of the two LTS version of JRE (8 and 11) by installing openjdk-8-jre and openjdk-11-jre. There are also headless packages that don’t provide any graphical functionalities, which often used in servers.

The difference between Java packages can quickly be summed up as the following:

  • The openjdk-<version>-jre-headless package is used when you don’t need to draw anything in the graphical user interface. For example a background service or a terminal application. It’s commonly used on servers.
  • The openjdk-<version>-jre package includes the openjdk-<version>-jre-headless package since it contains most of the Java features. Desktop users should install this package.
  • The openjdk-<version>-jre package provides more functionality, but heavier than its headless counterpart. It’s not recommended to install on a server since it installs extra software that is not commonly used on a server.

Replacing the version number allows you to install multiple versions of Java in the same machine. In that case, you can run sudo update-alternatives --config java to manage which version you want to use at the exact moment.

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/bin/gij-4.4                           1044      manual mode
  2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  3            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode

Press enter to keep the current choice[*], or type selection number:

We hope that the information above is useful to you and helped you fix java command not found error. If you have any questions, then please feel free to ask in the comments below.

Javac command is usually used to check whether the Java is installed in our system or not. When the Java is not installed in our system and we try to run Javac command, we get Javac command not found or Java is not Recognized. We can also get this error when Java is installed in our system but the path is not added to the system’s environment variable.

Javac command is used to compile our java program. When the compiler doesn’t find the javac.exe file, our command prompt shows the Javac Command Not Found or path is not recognized error.

Javac Command Not Found

Resolve Javac Command Not Found Error

In order to solve this issue, we first have to installed Java or jdk in our system. If the jdk is already installed in our system, we have to add the path variable into our system’s environment variable. This path is basically is the location of that folder where the java.exe file is present. So, it is required to add the bin directory because java.exe file is available in bin folder.

In our system, the path of the bit folder is as follows:

In order to set the path to the environment variable, we have two options. The first option is to set the path temporary and another one is to set the path permanently.

  1. We go to the command prompt and type the following command and press the enter key. Once you press the enter key, the path is set to the specified location. After running this command, we can compile and run the java program.
  2. If we want to set the path permanently, we have to follow the following steps:
    1. We go to the advance system setting by clicking on the Advance system settings option of our system.

      Javac Command Not Found
    2. When we click on the Advance system settings, a dialog box will be open. From this popup, we click on the Environment Variables.
      Javac Command Not Found
    3. When we click on the Environment Variables, a new dialog popup for setting path permanently. We will click on the New button to set path and for that it open New User Variable dialog.
      Javac Command Not Found
      Javac Command Not Found
    4. We give variable name Path and path of the bin directory of JDK folder will be the value of it. We create a new user variable only when there is not path variable. If it already exists, we edit it and add path value to that variable.
      Javac Command Not Found
    5. If the path variable is already exists, we select the Path variable and click on the Edit
      Javac Command Not Found
    6. When we click on the Edit button, it will open a new dialog and from that dialog we click on the New button to add path of the bin directory and click on the Ok
      Javac Command Not Found
      Javac Command Not Found
      Javac Command Not Found

Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Siu KWAN Yuen

I tried the code with my own bash, and it failed to compile the document

5 Answers

Steve Hunter July 11, 2017 11:37am

If you can compile in the IDE you must have the JDK installed.

The javac command isn’t automatically usable at every command prompt or PowerShell. You need to add it to your environment variables and the path. Google that — it’s easy to do.

Also, you can navigate to the folder location of javac.exe. Go to C:Program FilesJavajdk<version>bin and run javac using a bash call like ./javac — that’ll give you all its available options. You can add a path to the source file to compile it directly.

I hope that helps,

Steve.

Siu KWAN Yuen

PLUS

I already used «javac» and it is still not working.
It returns:
bash: javac: command not found

Bartosz Piechaczek July 10, 2017 1:04pm

Java is a case-sensitive language. Use «javac» instead of «Javac».

Siu KWAN Yuen

PLUS

Wouldn’t it slow your computer down?
I had installed a virtual machine once but at that time I knew it would consume my computer resources, so I hesitated and decided not to use it.

Siu KWAN Yuen

PLUS

It is great having a super-computer to do everything we need. I feel like having a desktop as opposed to a notebook. It seems like notebooks commonly have smaller disk space and a higher price.

Понравилась статья? Поделить с друзьями:
  • Bash gulp command not found windows
  • Bash cmake command not found windows
  • Baseus ccall bt01 драйвер для windows 7
  • Baseus bluetooth adapter driver windows 10
  • Basecamp garmin скачать бесплатно на русском для windows xp