Setting up enviromental variables in Windows 10 to use java and javac - java

I got a new laptop with Windows 10 and I want to set it up so I can use java and javac from the command line.
I have searched online but all the guides are for previous versions, and I don't want to mess around with something I don't understand.

Just set the path variable to JDK bin in environment variables.
Variable Name : PATH
Variable Value : C:\Program Files\Java\jdk1.8.0_31\bin
But the best practice is to set JAVA_HOME and PATH as follow.
Variable Name : JAVA_HOME
Variable Value : C:\Program Files\Java\jdk1.8.0_31
Variable Name : PATH
Variable Value : %JAVA_HOME%\bin

Here are the typical steps to set JAVA_HOME on Windows 10.
Search for Advanced System Settings in your windows Search box. Click on Advanced System Settings.
Click on Environment variables button: Environment Variables popup will open.
Goto system variables session, and click on New button to create new variable (HOME_PATH), then New System Variables popup will open.
Give Variable Name: JAVA_HOME, and Variable value : Your Java SDK home path. Ex: C:\Program Files\java\jdk1.8.0_151 Note: It should not include \bin. Then click on OK button.
Now you are able to see your JAVA_HOME in system variables list. (If you are not able to, try doing it again.)
Select Path (from system variables list) and click on Edit button, A new pop will opens (Edit Environment Variables). It was introduced in windows 10.
Click on New button and give %JAVA_HOME%\bin at highlighted field and click Ok button.
You can find complete tutorials on my blog :
How to set JAVA_HOME in 64 bit Windows 10 OS

Right click Computer
Click the properties
On the left pane select Advanced System Settings
Select Environment Variables
Under the System Variables, Select PATH and click edit,
and then click new and add path as C:\Program
Files\Java\jdk1.8.0_131\bin (depending on your installation path)
and finally click ok
Next restart your command prompt and open it and try javac

To find the env vars dialog in Windows 10:
Right Click Start
>> Click Control Panel (Or you may have System in the list)
>> Click System
>> Click Advanced system settings
>> Go to the Advanced Tab
>> Click the "Environment Variables..." button at the bottom of that dialog page.

Its still the same concept, you'll need to setup path variable so that windows is aware of the java executable and u can run it from command prompt conveniently
Details from the java's own page: https://java.com/en/download/help/path.xml
That article applies to: •Platform(s): Solaris SPARC, Solaris x86, Red Hat Linux, SUSE Linux, Windows 8, Windows 7, Vista, Windows XP, Windows 10

if you have any version problems (javac -version=15.0.1, java -version=1.8.0)
windows search : edit environment variables for your account
then delete these in your windows Environment variable: system variable: Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
C:\Program Files\Common Files\Oracle\Java\javapath
then if you're using java 15
environment variable: system variable : Path
add path C:\Program Files\Java\jdk-15.0.1\bin
is enough
if you're using java 8
create JAVA_HOME
environment variable: system variable : JAVA_HOME
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_271
environment variable: system variable : Path
add path = %JAVA_HOME%\bin

Adding Environment Variable simplified with screenshot.
Check the below URL and you should be able to do without any trouble.
https://itsforlavanya.blogspot.com/2020/08/environment-variable-simple-7-steps-to.html

Related

Run a jar file only with jre [duplicate]

When trying to check the current version of Java in which I am running, I received the error "java is not recognized as an internal or external command, operable program or batch file.".
I am running Windows 7 OS and have downloaded the latest JDK and felt I may have accidentally deleted the java from machine as before I was able to check the Java version using the command "java -version".
What software must I download to get Java working on my machine again?
EDIT:
I have managed to get Java running from my cmd again after ensuring all environment variables pointed to the current Java SDK.
You need to configure your environment variables, JAVA_HOME and PATH.
JAVA_HOME must contain the path to java, and you should add %JAVA_HOME%\bin to PATH
Alternatively, you can simply add to your PATH the whole path to the bin folder, without the JAVA_HOME variable, however, this makes a little more annoying when you need to have more than one java version on your machine (that way you only need to change JAVA_HOME and don't even bother with PATH)
For Windows 7:
Right click on My Computer
Select Properties
Select Advanced System Settings
Select the Advanced tab
Select Environment Variables
Select Path under System Variables
Click on the Edit button
In Variable value editor paste this at the start of the line
C:\Program Files\Java\jdk1.7.0_72\bin;
Click Ok then Ok again
Restart command prompt otherwise it won't see the change to the path variable
Type java -version in the command prompt.
Notes on Step 8:
The version of java in this may be different from the one used here -- this is only an example.
There will probably be other values in the path variable. It is really important that you don't delete what's already there. That's why the instructions say to paste the given value at the start of the line -- this means that you don't remove the existing value, you just put java before it. This also fixes any problems you'd be getting if an other version of java is also on the path.
Notes on Step 6:
This sets the path for the computer, not for the individual user. It may be that you're working on a computer which other developers also use, in which case you'd rather set the user variables, rather than the system variables
It sounds like you haven't added the right directory to your path.
First find out which directory you've installed Java in. For example, on my box it's in C:\Program Files\java\jdk1.7.0_111. Once you've found it, try running it directly. For example:
c:\> "c:\Program Files\java\jdk1.7.0_11\bin\java" -version
Once you've definitely got the right version, add the bin directory to your PATH environment variable.
Note that you don't need a JAVA_HOME environment variable, and haven't for some time. Some tools may use it - and if you're using one of those, then sure, set it - but if you're just using (say) Eclipse and the command-line java/javac tools, you're fine without it.
1 Yes, this has reminded me that I need to update...
Assume, Java/JDK is installed to the folder: C:\Program Files\Java:
Follow the steps:
Goto Control Panel → System → Advanced system settings → Advanced → Environment variables (Win+Pause/Break for System in Control Panel)
In the System variables section click on New…
In Variable name write: JAVA_HOME
In Variable value write: C:\Program Files\Java\bin, press OK:
In the System variables section double click on Path
Press New and write C:\Program Files\Java\bin, press OK:
In Environment variables window press OK
Restart/Run cmd.exe and write: java --version:
Search environment variables.
open the "edit the system environment variables".
then click on "environment variables".
Under "User variables" click on "Path" then "Edit".
Find your Java path and click "Edit".
then paste the path of your java installation folder.
Mostly you can find it on a path similar to this.
C:\Program Files\Java\jdk-12.0.2\bin
Then click OK.
now in the start menu, type cmd.
open the command prompt.
type
java -version
If you did it right,it should show something like this.
For me its start working after putting ,: in the starting of the system variable path :--
My solution was to put same value (path to JDK bin folder) in JAVA_HOME and Path
In my case, PATH was properly SET but PATHEXT has been cleared by me by mistake with .exe extension. That why window can't find java or anything .exe application from command prompt. Hope it can help someone.
This problem is on Windows 8.
First copy your Path of java jdk - e.g. C:\Program Files\Java\jdk1.7.0_51\bin.
Right on the My Computer Icon on the Desktop and Click Properties.
Select 'Advanced System Settings' in the left pane.
Under 'Advanced' tab, select 'Environment Variables' at the bottom.
In System Variables, select 'Path' Variable and edit it.
Paste the path and add a ';' at the end - e.g. C:\Program Files\Java\jdk1.7.0_51\bin;
I had the same problem. Just Install the exact bit of java as of your computer. If your PC is 64 bit then install 64 bit java. If it is 32 bit then vice versa :)
Not sure why, but in my case, the reason was because I was running Anaconda terminal instead of the CMD.
After I use CMD and update the path settings as mentioned by all comments above the issue solved on my side.
In case you are using a laptop and do not have the Pause\Break button.
For windows 10 users with 20h2 and above:
1 WIN → type "About your PC" → scroll at the bottom → Advanced system settings → Environment variables or WIN+R → shell:::{bb06c0e4-d293-4f75-8a90-cb05b6477eee} to open Classic System Properties → on the left side → Advanced system settings → Environment variables
Also for Windows 10 and Windows 7:
1 WIN → This PC → properties → Advanced system settings → Environment variables
In the System variables section click on New…
In Variable name write: JAVA_HOME
In Variable value write: C:\Program Files\Java\jdk-15.0.2\bin, press OK
I have taken steps 2-4 from Vijay Bhatt
There is a bit faster way to set a system variable. Run a console (terminal) as an administrator.
General command synax to add a new variable:
setx variableName value /M
In our example, we would need to set it as
setx JAVA_HOME "C:\Program Files\Java\jdk-15.0.2\bin" /M`
Like this:
/M - flag specifies to set the variable in the system environment.
After command execution, you should see the message:
SUCCESS: Specified value was saved.
How can I check that it is added?
Close your active terminal;
Open your favorite terminal;
Type java -version.
You should see something similar to this:
Notice:
User variables can be created w/o having a root (administrator privileges), whereas to create System variable; You need to open a console as a root.
I have used C:\Program Files\Java\jdk-15.0.2\bin as an example, in your case, it could be different from mine.
I opened a new command prompt in Windows 10 after updating the environment variables without closing the old one(To have my commands handy and lazy to type again)
Still, the new cmd window was referring to the previous version of Java.
Then once I closed the all cmd prompts that ran with admin privileges, the new java version was getting reflected.
I corrected my path variable but command prompt need to Restart otherwise, it won't be able to verify the change to the path variable. May be helpful for someone like me. so
"restart command prompt"
Restart the command prompt before checking the version of JDK installed. I spent 02 days on it until my problem resolved when I restarted the command prompt before checking javac - version, javac etc.
if you have cygwin installed in the Windows Box, or using UNIX Shell then
Issue bash#which java
This will tell you whether java is in your classpath or NOT.
If you have set the environment variables (JAVA_HOME and PATH) under user variables, command prompt (run as administrator) will not identify java. For that you need to set environment variables under system variables.
Try this:
System variables:
PATH = /bin folder of your jdk install
https://docs.oracle.com/javase/10/install/installation-jdk-and-jre-microsoft-windows-platforms.htm
Just some extra information for people that have still problems,
instead of editing the path variable of java, delete that part of the path(only the java!!)
and make a new variable pointing tpo the jdk/jre.
this seemed to work for me.

Why my jdk can't work,and before the java_home, there is a space that is not from me

My computer is Windows 8.1,x64.I download jdk 1.8.5_20 from oracle's website.When I had setted the environment variable,I open the cmd,input the "javac" ,It can't work! But "java" is successful...
I check my environment variable,It's .
So I input the "echo %java_home%" in cmd,I find there is a space before the string .
I think It must couse the error!
But I cann'r solve it!
I try any way ,such as typewriting.But cann't get a good result!
set path for java up to bin folder
eg: path=C:\Program Files\Java\jdk1.7.0\bin;
see official java docs here
Open the default installation path for JDK
C:\Program Files\Java
go to below directory
C:\Program Files\Java\jdk1.6.0_10
Set the JAVA_HOME Variable
Right-click the My Computer icon on, your desktop and select Properties.
Click the Advanced tab. Click the
`Environment Variables` button. Under System Variables, click New.
Enter the variable name as **JAVA_HOME**.
Enter the variable value as the installation path for the Java Development Kit.
Click OK and Apply Changes.

JAVA_HOME Errors

I know there are lots of questions and answers about this but none of them are working. I am on a Windows 7 Computer.
I have set my JAVA_HOME in Environment Variables but I keep on getting errors. I have set it to
"C:\Program Files\java\jdkxxx\"
(xxx = Java Version) I have tried setting it without quotes and it still doesn't work.
I get the error
ERROR: JAVA_HOME variable is set to an invalid directory: C:\Program Files\java\java1.7.0_21\ Please set the JAVA_HOME variable in your environment to match the location of your Java installation.
Take out the trailing backslash and remove the quotes
set JAVA_HOME=C:\Program Files\java\java1.7.0_21
1. Navigate to C:/Program Files/Java
Look for any JDK folders and find the last version if you don't have any of them then Download and install from Java official website HERE
2. On your Desktop, right-click on My Computer and open Properties
From the left side choose Advanced system settings
3. At the bottom of the window, press the Environment variables button.
Now we got to add the variable in the both: User and System variable boxes.
4. Click New button at the User variables box and write:
Variable name: JAVA_HOME
Variable value: C:/Progra~1/Java/jdk-folders-name
NOTE: use Progra~1 for Windows x64 and Progra~2 for Windows x32
Then press OK
5. Do the same for the System variables box
6. Press Ok till you close all the windows and run again your Soft.
Or check this video tutorial: https://www.youtube.com/watch?v=47K3gBla76o

Find_java.exe in Android SDK doesn't find Java

I've definitely got JDK 1.6.0 installed in C:\Program Files\Java\jdk1.6.0_35, but it never seems to be able to find it when I try to open the SDK Manager. In task manager, find_java.exe shows up until I stop it (will run for hours).
Are there some environment variables I have to set for this to work?
As you are using Windows system, use following way to set your JAVA_HOME and CLASSPATH Environment variables.
Windows XP
Select Start, select Control Panel. double click System, and select the Advanced tab.
Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New.
In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.
Windows Vista:
From the desktop, right click the My Computer icon.
Choose Properties from the context menu.
Click the Advanced tab (Advanced system settings link in Vista).
Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New.
In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.
Windows 7:
From the desktop, right click the Computer icon.
Choose Properties from the context menu.
Click the Advanced system settings link.
Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New.
In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.
Now in Addition for the Linux Based System following steps used to set JAVA_HOME and CLASSPATH variables,
Open root folder
From the View Menu , ticK "Show Hidden Files" , or press Ctrl + H.
Now you can see a system hidden file called .bashrc
Right click and open it editor, and write following command at the end.
PATH=$PATH:/opt/jdk1.6.0_21/bin
export PATH
JAVA_HOME=/opt/jdk1.6.0_21
export JAVA_HOME
NDK_HOME=/opt/android-ndk-r8
export NDK_HOME
Save and Exit.
May be you are forgetting the PATH environmental variable. To check this use,
In Unix/Linux systems,
echo $PATH
echo $JAVA_HOME
In Windows systems,
echo %PATH%
echo %JAVA_HOME%
If both the tests showed you empty lines, then you may need to set them again.
To set them do this. First try reinstalling java with UAC turned off.
If it failed, do this at the cmd
SetX PATH %PATH%;<path_to_jdk/jre>\bin\
SetX JAVA_HOME <path_to_jdk/jre>
Hope it helps and thinking you are using windows.

How to set the java path and classpath in windows-64bit

I have installed java on windows-64bit OS. but when I execute javac, it is failing with the
error message no such command is available". I have created following environmental variable
CLASSPATH C:\Program Files (x86)\Java\jdk1.6.0_05\lib
Add the appropriate javac path to your PATH variable. java.exe will be found under the bin directory of your JDK. E.g.
SET PATH=%PATH%;C:\Program Files (x86)\Java\jdk1.6.0_05\bin
Before answering your question, just wann ans this simple question : Why we need PATH and CLASSPATH?
Answer:
1) PATH: You need to set PATH to compile Java source code, create JAVA CLASS FILES and Operating System to load classes at runtime.
2) CLASSPATH: This is used by JVM and not by OS.
Answer to your question :
Just make sure you have Modified PATH variable (Windows System Environmental Variable) so that it points to bin dir which contains all exe for example: java,javac and etc. In my case it is like this : ;C:\Program Files\Java\jre7\bin.
So, it doesn't matter your system is 32 bit/64 bit until and unless you specify/Modify the PATH variable correctly.
Actually, the most conventional way of getting it done on Windows is
Go to Control Panel
Click System
Open Advanced settings
Click Environment Variables...
Path is one of the variables under "System Variables".
This is where the system will search when you try to execute a command.
just append the full path to the Bin folder under your Java
installation path. You can copy it using Windows Explorer to avoid typing it manually
click OK to close the dialogs.
To verify, open the command window aka console window (for example, WindowsKey-R cmd.exe ) and run:
javac -version
If the java bin folder is in the path, the system will find and execute the javac.exe file located there, and you will see your Java version. Something like:
c:\>javac -version
javac 1.7.0_65
Very Simple:
You need to set the two environment variables only; PATH and java
=>Right Click on My computer
=>Properties
=>Click on left hand side bar menu "Advanced system settings"
=> Click on "Environment Variables" button refer below fig.
=>Follow the below steps to Set User variable and System variable.
To Set User variable named as "PATH"
Click on "New" button in user variables section.
Set the variable name as "PATH" and variable value as per your java
installed version.(Shown in below fig.)
To Set System variable named as "java"
Click on "New" button in System variable tab.
Set the variable name as "java" and variable value as per your java
installed version.(Shown in below fig.)
Refer below images for the reference.
For me, the 'JAVA_HOME' variable should be set as a System Variable, instead of User Variable.
When the 'JAVA_HOME' was changed to be a System Variable, the command 'javac' works.
Also, the PATH and CLASSPATH are System Variable.

Categories

Resources