This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I have a problem regarding importing subpackages. Since I was not doing any serious project, the names are all funny.
My folder structure is like this : a folder called body. This has 3 sub-folders,left,right and centre. Left has folders hand and leg.
There are other sub-folders in the other 2 folders as well. Each folder has 1 class, TestXXXX, where XXXX is name of folder (eg. hand folder has class TestHand) and the class has only 1 method, showXXXX (eg. showHand() method in TestHand class).
The code for 1 class is like this :
The codes in other classes are similar. What I am trying to do is, access method showLeg() of TestLeg class from the hand folder using a class Test, which looks like this :
When I try to compile class Test going inside the folder hand, I get the following error : package body.left.leg does not exist
However, instead of using the Test class in the hand folder, if I use it in the parent folder that contains the body folder, I am able to access all classes anywhere in the directory structure. In other words, I cannot access a sub-package from another sub-package, but I can access any sub-package from the main package.
Can you please help me with this?
P.S. - I already posted this on an existing thread, but got no reply. So re-posting it here.
Compiling the file which is in package that requires class in the another package , you need to specify the classpath that is root of package directory
In this case, if you want compile class Test which is in directory,say. body/left/leg ,and this Test class requires another class i.e. TestHand, So you must specify classpath to TestHand for compiling the Test class + in Test class. you must specify package declaration .