How can import a class in different directory in subfolders??
I am new in Java programming language and i want to use a class in other directory by importing their packages but i can't do it !!.
i have a class called Car.
package ir.tclas.clasor.models;
public class Car {
private String Models;
private String Name;
private String Color;
private Integer weigth;
public void setWeigth(Integer weigth) {
if (weigth > 50)
this.weigth = 45;
else {
this.weigth = weigth;
}
}
public String getModels() {
if (Models == null)
Models = "NO_Name";
return Models;
}
public void horn() {
System.out.println("Beeeeeep!!!");
}
}
now i want import Car from MainApp
package ir.tclas.clasor;
import ir.tclas.clasor.models.Car;
public class MainApp {
public static void main(String[] args) {
Car bmw = new Car();
bmw.setName("BMW");
bmw.setColor("Blue");
bmw.setWeigth(55);
bmw.horn();
System.out.println(bmw.getName());
System.out.println(bmw.getModels());
System.out.println(bmw.getColor());
System.out.println(bmw.getWeigth());
}
}
this is my out put after run my code:
PS E:\java_pj\001\demo> cd
"e:\java_pj\001\demo\src\main\java\ir\tclas\clasor\" ; if ($?) {
javac MainApp.java } ; if ($?) { java MainApp.java }
MainApp.java:4: error: package ir.tclas.clasor.models does not exist
import ir.tclas.clasor.models.Car;
^
MainApp.java:9: error: cannot find symbol
Car bmw = new Car();
^
symbol: class Car
location: class MainApp
MainApp.java:9: error: cannot find symbol
Car bmw = new Car();
^
symbol: class Car
location: class MainApp
3 errors
PS E:\java_pj\001\demo\src\main\java\ir\tclas\clasor>
Can anyone tell me how to do it?
CodePudding user response:
Code Runner doesn't include packages when compiling .java files and that's why error occurs, you should manually change the command in Settings.json:
"code-runner.executorMap": {
"java": "cd e:/java_pj/001/demo/src/main/java && javac ir/tclas/clasor/models/Car.java && javac ir/tclas/clasor/$fileName && java ir/tclas/clasor/$fileNameWithoutExt",
}
OR you can directly disable the extension Code Runner and run your project by Java Extension. After adding getters and setters in Car.java
, your code works well, and no errors are shown: