I could not understand why javac: file not found: HelloWorld.java
You seem to have never used the command prompt before. The command prompt has a "current directory", just like in a file explorer window, there is a "current directory", the directory that you are viewing right now.
The current directory is usually shown just to the left of the caret.
The current directory on the above photo is C:\Users\Mrhope
.
Type dir
to see all the files and directories of the current directory. You can then use cd
to navigate to a subdirectory. Say you are in Documents
now, and you can do this
cd Project
to go to the Project
folder. By the way ../
means the parent directory
The HelloWorld.java
in javac HelloWorld.java
is a path relative to the current directory, so this will only work if HelloWorld.java is in the current directory. You should try to use cd
to navigate to the correct directory then use that command.
Setting the PATH
environmental variable is quite irrelevant here because that is setting the path of the JRE. Please set it back.
I suggest you learn the basics of cmd
first. Many tutorials are available online.
Why this javac: File Not Found error?
You shouldn't set your classpath to point to your JDK bin directory -- instead it should be the PATH environment variable, which serves a different purpose to classpath. (The classpath defines a list of jars and directories containing compiled Java .class code; the PATH variable defines a list of paths where the shell needs to look and locate programs to execute when they are not found in the current directory -- so if you type for instance zip
-- it would look in all the directories defined in PATH
and figure out that zip
program is located under /usr/bin
)
Secondly if you want to compile sources from both directory you need to specify:
- all the paths where the sources are (both
home/pathToFolderA/src
andhome/pathToFolderB/gen-java
) - the path where the compiled .class files to be generated
- specify in the classpath any library you might use in your source files
To sum it up, it would be something like this to compile:
javac -d /home/pathToFolderWithResultsOfCompilation -classpath /path/to/some.jar:/path/to/another.jar home/pathToFolderA/src/*.java home/pathToFolderB/gen-java/*.java
and to run your compiled programs:
java -classpath /path/to/some.jar:/path/to/another.jar:/home/pathToFolderWithResultsOfCompilation full.name.of.your.Java
Related Topics
How to Run Selenium Webdriver in the Background
Where Does Gradle Save Dependencies' Jars
Java.Sql.Sqlexception: Field Doesn't Have a Default Value
How to Send Text to Textarea in Div Element Using Selenium
How to Apply Spring Boot Filter Based on Url Pattern
Java Ssl: How to Disable Hostname Verification
How to Pass Variables Between Cucumber-Jvm Steps
Java: Print Elements of Array and Insert Line Break
Parsing the Nested Json Array Using Jackson Library in Java
Android Tv Recyclerview Set Next Focus of Its Item
Classcastexception Because of Classloaders
Spring Boot @Autowired Environment Throws Nullpointerexception
How to Count Method Calls by Instance
Java to Jackson Json Serialization: Money Fields
Kafka: Failed to Update Metadata After 60000 Ms
How to Get Resources Directory Path Programmatically
How to Remove the Slashes from Json Key While Converting Object into String