I like using the command prompt to write and compile java.
To write the code I enter this in cmd:
notepad MyJavaClass.java
This opens notepad and asks if I want to create new file (If it doesn't already exist).
The problem for me is that I like using notepad++ as a text editor because it has nice features.
So my question is:
How do I make it so that I can type "notepad++ MyJavaClass.java" in cmd and have notepad++ open up, ready for editing without having to type the full path of notepad++?
I tried to simply place the notepad++.exe file in the System32 folder, but cmd
doesn't recognize the command.
Sorry for the noobiness :)
Notepad++ is a known app, so if you launch it with the START builtin, it'll work without having to modify the PATH.
start notepad++ MyJava.java
Add notepad++ to your path
In Windows (Using GUI):
From the Start Menu, right-click Computer, select Advanced system settings in the left area, then select Environment Variables at the bottom in the window that pops up.
Go to the PATH user variable and click edit, and append YOUR path to notepad++ to the end.
For example:
C:\Program Files (x86)\Notepad++;
Don't forget the semi-colon! Be sure the entry before it is also ended with a semi-colon.
In Windows (Using command line running as Administrator)
To set only for the duration of command line session:
set PATH=%PATH%;C:\Program Files (x86)\Notepad++;
To permanently set, use the same command as above but replace set with setx:
Note that not all Windows distributions come with setx, and can be manually installed here.
Sidestepping the question slightly, I made a Windows batch file to give command-line access to Notepad++. Rather than add to the PATH pigpile, I put an npp.bat file in a tools directory that is already in the path.
"C:\Program Files (x86)\Notepad++\notepad++.exe" %*
Then from any command line:
npp foo.java
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
Autorun
path %userprofile%\desktop;%path%&doskey /macrofile="%userprofile%\macros.txt"
Here I'm adding a path, then setting the doskey macros.
You could do this
doskey /macrofile="%userprofile%\macros.txt"
In the macros.txt do this
n="c:\somewhere\notepad++.exe" $*
Now you just type
n <filename>
See
set /?
doskey /?
cmd /?
Related
I am trying to install Java in Windows 10 Home (64 bit). Like many tutorials point out, I downloaded the Java jdk setup file, executed it and once installed changed the Path in the Environment Variables. But for some reason, when I execute the command 'javac' it returns the not internal/external command error in Command Prompt but runs absolutely fine in Powershell. I tried to rectify this by uninstalling Java and reinstalling it very carefully, following all the steps but still this keeps on happening.
Also, during installation of Java, I lost the original value to my Path variable. Could this be causing the problem?
Edit : I was able to get the java command running in the command prompt but javac still won't work. I've already tried the methods suggested on other forums and this one but no luck so far.
See there is no problem with Java installation if you can find JDK(Java development kit) and JRE(Server Java runtime environment) in programme files in windows in a JAVA folder.
The main problem is with the environment variable declaration.
Go to environment variables and make a new path for that.
JAVA_HOME = "YOUR JDK & JRE INSTALLATION PATH"
And another one is
JAVA = "YOUR JDK & JRE INSTALLATION PATH"
Hope that help to you. After doing that if still there problem persisist just restart your PC and check again.
Just add your variable location up to /bin/
Refer to this :
https://www.windows-commandline.com/javac-not-recognized-internal-external-command/
Open file explorer
Right click computer then click properties
click advanced system settings
click environmental variables
click path (for me there was one in user variables for admin and another in system variables)
find the directory for javac (for me it was here C:\Program Files (x86)\Java\jdk1.8.0_191\bin)
so go back to file explorer and open program files x86
then open the java folder
then open the jdk folder
then open the bin folder
highlight the path in the search bar and copy it
click edit on path and paste into the path in the environmental variable for both(if you have more than one path)
If no path exists then create one in user variables
If there is any existing text place a semicolon ; between the text you pasted in there and the preexisting text.
close command prompt and reopen it.
type javac -version
the version info should be listed
This problem comes up with the directory of your command prompt.
check your PowerShell and command prompt default directory.
We can run command prompt as WinKey+R then type cmd, Hit the enter button then check our java version cmd javac -version.
ok in cmd prompt when i give a this command notepad xyz
it launches the notepad application . but instead of notepad i want it to launch programmer note pad since im going to use this mainly for practicing /learning java.
I set the path variable for the programmers notepad directory that didn't help at all.
Have you tried reopening the terminal after updating the path env variable? Also first try to see if it works by typing the full path yourself. For example: I have a file.xml inside c:\. I typed "C:\Program Files (x86)\Programmer's Notepad\pn.exe" file.xml in the terminal and it works as expected.
I then added C:\Program Files (x86)\Programmer's Notepad\ to the path env variable that is included in the System Variables section. Closed the already opened terminal, reopened and then typed pn file.xml (with c:\ being my current directory) and it works again as expected.
First, check properly whether you have added the PATH variable correctly!
And then Run : pn.exe in command prompt (cmd.exe), not notepad....
I have problems compiling Java programs from command line interfaces (both command prompt and NetBeans terminal).
I added the jdk directory to the PATH system variable but not all commands are recognizable, some commands (in the jdk1.6.0_37\bin folder) are recognized (like: java, javaw, packger)and others I'd have to type the full directory name for it to work (like: jar, javac, javah, javap) (this applies for both cmd and NB).
I don't know why this should be, all of these files are .exe , all are Java Platform SE binary, the only difference I can see is the icon of the files, the ones that work have the Java logo (Coffee Mug) and the rest have the standard .exe logo. Any help would be appreciated. Thanks
You have to add the jdk1.6.0_37\bin directory to the PATH variable. That is where all the commands that you want to run are in. After you add the directory to the PATH variable, open a new command prompt and run those commands again.
I'm searched many answers that suggest me to type in cmd:
set path = "%path%;c:program files\java\jdk1.7.0\bin"
but this is WRONG!
the right solution is that you leave "set" and just type
path = %path%;c:program files\java\jdk1.7.0\bin
P/s: of course you have to replace "jdk1.7.0" folder by your current java version folder
I just created a jar file using jdk7. I tried running it but kept getting an error. It turned out it was pointing at a jre6 and not the jre in jdk7. So, I used the following command to change it
ftype jarfile = "C:\path to jre\bin\javaw.exe" -jar "%1" %*
After that, I tried to double click on my jar file again, but it popped up a window asking me to choose a program to open it with. When I chose the same javaw.exe file as above it runs but exits immediately without doing anything. I can run it fine in cmd by doing the java -jar file.jar command. I even tried deleting the .jar registry key, but that just got me back to the point where it asked me to choose a program to open with. I'm running windows 7 ultimate if that matters.
EDIT:
In the registry there are 3 subkeys: OpenWithList, OpenWithProgids, and UserChoice. I've changed all the defaults to the path above except UserChoice which won't let me edit it from regedit. When I delete that and try to run the jar file, it opens up the choose a program to open with window again. For some reason it ignores the other registry keys
OK, I found the answer somewhere else but ran into this issue again so came here via google.
The solution is...
Open up regedit.exe
Either search for "jre6" or follow this: HKLM->SOFTWARE->Classes->jarfile->shell->open->command
Change the Data field to the directory of the javaw.exe file that's in your JDK directory.
For the love of God, don't forget to put the weird [-jar "%1" %*] parts on the end of it.
Enjoy outsmarting Oracle.
Hopefully this'll save some people a bit of time.
This happened to me when I installed the JRE6 plugin for Chrome, though it could happen when installing any other JRE I guess.
I fixed it by going to regedit and searched for jre which brought up...
HKEY_CURRENT_USER/Software/Classes/Applications/javaw.exe/shell/open/command
I changed the REG_SZ
from: "C:\Program Files (x86)\Java\jre7\bin\javaw.exe" "%1"
to: "C:\Program Files (x86)\Java\jre7\bin\javaw.exe" -jar "%1" %*
When windows asks you for a program to run it against it won't insert the needed -jar argument in the command line.
If it's asking you for the exe in which to run it then that means somehow your JRE isn't associated with the .jar extension. You'll need to modify the .jar file registry entry so that it runs c:\path_to_jre\bin\javaw -jar %1 in order for it to work.
It used to be under File Explorer > Tools > Folder Options > File Types.
Then look for .jar in there. You should find a text field that shows the executable to run and the command line arguments. That's what you want to modify. You can also do it in the registry editor too, but I've forgotten the HKEY variable path. I'm sure this KBA will help:
support_microsoft_kb_950505
Check if the file type jarfile is actually registered with the *.jar extension using
assoc .jar
Seems like .jar is not linked to jarfile.
I'm not sure exactly why none of the solutions worked, but I reinstalled jre7 and it works now.
Isn't it easier to change your java version to you rnew jdk7 by changing the CLASSPATH environment variable? See how here
Here's the address on my drive:
C:\Program Files\Java\jdk1.6.0_18\bin
How would I go about setting the path variable so I can go in command window (windowskey+r "cmd") and be able to type things like:
javac TestApp.java
I'm using Windows 7 Professional.
That would be:
set "PATH=%PATH%;C:\Program Files\Java\jdk1.6.0_18\bin"
You can also append ;C:\Program Files\Java\jdk1.6.0_18\bin to the PATH in the user environment dialog. That would allow you to use javac and other java tools directly form any cmd shell without setting the path first. The user environment dialog used to be somewhere in the system properties in XP, I have no idea where it is in Windows 7.
Typing the SET PATH command into the command shell every time you fire it up could get old for you pretty fast. Three alternatives:
Run javac from a batch (.CMD) file. Then you can just put the SET PATH into that file before your javac execution. Or you could do without the SET PATH if you simply code the explicit path to javac.exe
Set your enhanced, improved PATH in the "environment variables" configuration of your system.
In the long run you'll want to automate your Java compiling with Ant. But that will require yet another extension to PATH first, which brings us back to (1) and (2).
Step 1: Set the PATH variable JAVA_HOME to the path of the JDK present on the system.
Step 2: in the Path variable add the path of the C:\Program Files\Java\jdk(version)\bin
This should solve the problem.
Happy coding!!
Type cmd in program start
Copy and Paste following on dos prompt
set PATH="%PATH%;C:\Program Files\Java\jdk1.6.0_18\bin"
Follow the steps given here
http://www.javaandme.com/
after setting variable, just navigate to your java file directory in your cmd and type
javac "xyx.java"
or if you don't navigate to the directory, then simply specify the full path of java file
javac "/xyz.java"
First thing I wann ans to this imp question: "Why we require PATH To be set?"
Answer : You need to set PATH to compile Java source code, create JAVA CLASS FILES and allow Operating System to load classes at runtime.
Now you will understand why after setting "javac" you can manually compile by just saying
"Class_name.java"
Modify the PATH of Windows Environmental Variable by appending the location till bin directory where all exe file(for eg. java,javac) are present.
Example : ;C:\Program Files\Java\jre7\bin.
only this will work:
path=%set path%;C:\Program Files\Java\jdk1.7.0_04\bin
You don't need to do any complex command-line stuff or edit any system code.
You simply have to open Computer, showing all of your disks and open properties.
From there, go to Advanced System Settings and click Environment Variables.
Scroll down in the lower list box and edit Path.
Do not erase anything already there. Put a ; after it and then type in your path. To test, open command prompt and do "javac", it should list around 20 programs.
You would be finished at that point.
By the way, the command to compile is javac -g not just javac.
Happy coding!
Trying this out on Windows 10, none of the command-line instructions worked.
Right clicking on "Computer" then open Properties etc. as the post by Galen Nare above already explains, leads you to a window where you need to click on "new" and then paste the path (as said: without deleting anything else). Afterwards you can check by typing java -version in the command-line window, which should display your current java version, if everything worked out right.