How to access Java classes in one package

I have two java files (A.java + B.java) in src / com / example

A.java

package com.example; public class A { public void sayHello(){ System.out.println("Hello"); } } 

B.java

 package com.example; public class B{ public static void main(String... args) { A a = new A(); a.sayHello(); } } 

If I cd one level above src and enter the javac -d classes src / com / example / B.java

I get an error, can't find character A?

+6
source share
3 answers

javac does not know where to find the source class, you must specify it with the -sourcepath option.

Cm:

 C:\example>mkdir src C:\example>type > src/ C:\example>mkdir src\com\example C:\example>more > src\com\example\A.java package com.example; public class A { } ^C C:\example>more > src\com\example\B.java package com.example; public class B { A a; } ^C C:\example>javac -d C:\example>mkdir classes C:\example>javac -d classes src\com\example\B.java src\com\example\B.java:3: cannot find symbol symbol : class A location: class com.example.B A a; ^ 1 error C:\example>javac -d classes -sourcepath src src\com\example\B.java C:\example> 
+5
source

This is because Java does not know where to find the source of another file. You need to either cd into the src directory, or point the src directory to -sourcepath .

+1
source

Try the javac -d classes src / com / example / *. java

0
source

Source: https://habr.com/ru/post/887875/


All Articles